libgpac
Documentation of the core library of GPAC
scenegraph_vrml.h File Reference

Scenegraph for VRML files. More...

#include <gpac/scenegraph.h>
#include <gpac/maths.h>
+ Include dependency graph for scenegraph_vrml.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  SFString
 
struct  SFColor
 
struct  SFColorRGBA
 
struct  SFURL
 
struct  SFVec2d
 
struct  SFVec3d
 
struct  SFImage
 
struct  SFCommandBuffer
 
struct  SFScript
 
struct  SFAttrRef
 
struct  GenMFField
 
struct  MFInt32
 
struct  MFInt
 
struct  MFFloat
 
struct  MFDouble
 
struct  MFBool
 
struct  MFColor
 
struct  MFColorRGBA
 
struct  MFRotation
 
struct  MFTime
 
struct  MFVec2f
 
struct  MFVec2d
 
struct  MFVec3f
 
struct  MFVec3d
 
struct  MFVec4f
 
struct  MFURL
 
struct  MFString
 
struct  MFScript
 
struct  MFAttrRef
 
struct  GF_VRMLParent
 

Macros

#define MPEG4_RESERVED_NDT   200
 
#define GF_SG_INTERNAL_PROTO   (PTR_TO_U_CAST -1)
 
#define VRML_CHILDREN
 

Typedefs

typedef u32 SFBool
 
typedef s32 SFInt32
 
typedef s32 SFInt
 
typedef Fixed SFFloat
 
typedef Double SFDouble
 
typedef Double SFTime
 
typedef struct __vec2f SFVec2f
 
typedef struct __vec3f SFVec3f
 
typedef struct __vec4f SFRotation
 
typedef struct __vec4f SFVec4f
 

Enumerations

enum  {
  NDT_SFMetadataNode = MPEG4_RESERVED_NDT+1 , NDT_SFFillPropertiesNode , NDT_SFX3DLinePropertiesNode , NDT_SFGeoOriginNode ,
  NDT_SFHAnimNode , NDT_SFHAnimDisplacerNode , NDT_SFNurbsControlCurveNode , NDT_SFNurbsSurfaceNode ,
  NDT_SFNurbsCurveNode
}
 
enum  {
  GF_SG_EVENT_FIELD = 0 , GF_SG_EVENT_EXPOSED_FIELD = 1 , GF_SG_EVENT_IN = 2 , GF_SG_EVENT_OUT = 3 ,
  GF_SG_EVENT_UNKNOWN = 4
}
 
enum  {
  GF_SG_FIELD_CODING_ALL = 0 , GF_SG_FIELD_CODING_DEF = 1 , GF_SG_FIELD_CODING_IN = 2 , GF_SG_FIELD_CODING_OUT = 3 ,
  GF_SG_FIELD_CODING_DYN = 4
}
 
enum  {
  GF_SG_VRML_SFBOOL = 0 , GF_SG_VRML_SFFLOAT = 1 , GF_SG_VRML_SFTIME = 2 , GF_SG_VRML_SFINT32 = 3 ,
  GF_SG_VRML_SFSTRING = 4 , GF_SG_VRML_SFVEC3F = 5 , GF_SG_VRML_SFVEC2F = 6 , GF_SG_VRML_SFCOLOR = 7 ,
  GF_SG_VRML_SFROTATION = 8 , GF_SG_VRML_SFIMAGE = 9 , GF_SG_VRML_SFNODE = 10 , GF_SG_VRML_SFVEC4F = 11 ,
  GF_SG_VRML_SFURL , GF_SG_VRML_SFSCRIPT , GF_SG_VRML_SFCOMMANDBUFFER , GF_SG_VRML_SFDOUBLE ,
  GF_SG_VRML_SFCOLORRGBA , GF_SG_VRML_SFVEC2D , GF_SG_VRML_SFVEC3D , GF_SG_VRML_FIRST_MF = 32 ,
  GF_SG_VRML_MFBOOL = GF_SG_VRML_FIRST_MF , GF_SG_VRML_MFFLOAT , GF_SG_VRML_MFTIME , GF_SG_VRML_MFINT32 ,
  GF_SG_VRML_MFSTRING , GF_SG_VRML_MFVEC3F , GF_SG_VRML_MFVEC2F , GF_SG_VRML_MFCOLOR ,
  GF_SG_VRML_MFROTATION , GF_SG_VRML_MFIMAGE , GF_SG_VRML_MFNODE , GF_SG_VRML_MFVEC4F ,
  GF_SG_VRML_SFATTRREF = 45 , GF_SG_VRML_MFATTRREF = 46 , GF_SG_VRML_MFURL , GF_SG_VRML_MFSCRIPT ,
  GF_SG_VRML_MFCOMMANDBUFFER , GF_SG_VRML_MFDOUBLE , GF_SG_VRML_MFCOLORRGBA , GF_SG_VRML_MFVEC2D ,
  GF_SG_VRML_MFVEC3D , GF_SG_VRML_SCRIPT_FUNCTION , GF_SG_VRML_GENERIC_FUNCTION , GF_SG_VRML_UNKNOWN
}
 
enum  { GF_SG_SCRIPT_TYPE_FIELD = 0 , GF_SG_SCRIPT_TYPE_EVENT_IN , GF_SG_SCRIPT_TYPE_EVENT_OUT }
 

Functions

const char * gf_sg_vrml_get_event_type_name (u32 EventType, Bool forX3D)
 
u32 gf_node_get_num_fields_in_mode (GF_Node *n, u8 IndexMode)
 
SFColorRGBA gf_sg_sfcolor_to_rgba (SFColor val)
 
Bool gf_sg_vrml_is_sf_field (u32 FieldType)
 
u32 gf_sg_vrml_get_sf_type (u32 FieldType)
 
GF_Err gf_sg_vrml_mf_insert (void *mf, u32 FieldType, void **new_ptr, u32 InsertAt)
 
GF_Err gf_sg_vrml_mf_reset (void *mf, u32 FieldType)
 
void gf_sg_mfurl_del (MFURL url)
 
void gf_sg_vrml_copy_mfurl (MFURL *dst, MFURL *src)
 
SFRotation gf_sg_sfrotation_interpolate (SFRotation kv1, SFRotation kv2, Fixed f)
 
GF_Err gf_node_insert_child (GF_Node *parent, GF_Node *new_child, s32 pos)
 
GF_Err gf_node_replace_child (GF_Node *node, GF_ChildNodeItem **container, s32 pos, GF_Node *newNode)
 
void gf_sg_vrml_parent_setup (GF_Node *n)
 
void gf_sg_vrml_parent_destroy (GF_Node *n)
 
Bool gf_node_in_table_by_tag (u32 tag, u32 NDTType)
 
const char * gf_sg_vrml_get_field_type_name (u32 FieldType)
 
void * gf_sg_vrml_field_pointer_new (u32 FieldType)
 
void gf_sg_vrml_field_pointer_del (void *field, u32 FieldType)
 
GF_Err gf_sg_vrml_mf_append (void *mf, u32 FieldType, void **new_ptr)
 
GF_Err gf_sg_vrml_mf_remove (void *mf, u32 FieldType, u32 RemoveFrom)
 
GF_Err gf_sg_vrml_mf_alloc (void *mf, u32 FieldType, u32 NbItems)
 
GF_Err gf_sg_vrml_mf_get_item (void *mf, u32 FieldType, void **new_ptr, u32 ItemPos)
 
void gf_sg_vrml_field_copy (void *dest, void *orig, u32 FieldType)
 
void gf_sg_vrml_field_clone (void *dest, void *orig, u32 FieldType, GF_SceneGraph *inScene)
 
Bool gf_sg_vrml_field_equal (void *dest, void *orig, u32 FieldType)
 
GF_Route * gf_sg_route_new (GF_SceneGraph *sg, GF_Node *fromNode, u32 fromField, GF_Node *toNode, u32 toField)
 
void gf_sg_route_del (GF_Route *route)
 
GF_Err gf_sg_route_del_by_id (GF_SceneGraph *sg, u32 routeID)
 
GF_Route * gf_sg_route_find (GF_SceneGraph *sg, u32 RouteID)
 
GF_Route * gf_sg_route_find_by_name (GF_SceneGraph *sg, char *name)
 
GF_Err gf_sg_route_set_id (GF_Route *route, u32 ID)
 
GF_Err gf_sg_route_set_name (GF_Route *route, char *name)
 
char * gf_sg_route_get_name (GF_Route *route)
 
u32 gf_sg_get_next_available_route_id (GF_SceneGraph *sg)
 
void gf_sg_set_max_defined_route_id (GF_SceneGraph *sg, u32 ID)
 
void gf_sg_route_new_to_callback (GF_SceneGraph *sg, GF_Node *fromNode, u32 fromField, void *cbk, void(*route_callback)(void *param, GF_FieldInfo *from_field))
 
void gf_sg_activate_routes (GF_SceneGraph *sg)
 
u32 gf_sg_get_next_available_proto_id (GF_SceneGraph *sg)
 
GF_Proto * gf_sg_proto_new (GF_SceneGraph *sg, u32 ProtoID, char *name, Bool unregistered)
 
GF_Err gf_sg_proto_del (GF_Proto *proto)
 
GF_SceneGraph * gf_sg_proto_get_graph (GF_Proto *proto)
 
GF_Err gf_sg_proto_add_node_code (GF_Proto *proto, GF_Node *n)
 
u32 gf_sg_proto_get_field_count (GF_Proto *proto)
 
GF_ProtoFieldInterface * gf_sg_proto_field_find_by_name (GF_Proto *proto, char *fieldName)
 
GF_ProtoFieldInterface * gf_sg_proto_field_find (GF_Proto *proto, u32 fieldIndex)
 
GF_ProtoFieldInterface * gf_sg_proto_field_new (GF_Proto *proto, u32 fieldType, u32 eventType, char *fieldName)
 
GF_Err gf_sg_proto_field_set_ised (GF_Proto *proto, u32 protoFieldIndex, GF_Node *node, u32 nodeFieldIndex)
 
GF_Err gf_sg_proto_field_get_field (GF_ProtoFieldInterface *field, GF_FieldInfo *info)
 
GF_Nodegf_sg_proto_create_instance (GF_SceneGraph *sg, GF_Proto *proto)
 
GF_Err gf_sg_proto_load_code (GF_Node *proto_inst)
 
GF_Proto * gf_sg_find_proto (GF_SceneGraph *sg, u32 ProtoID, char *name)
 
GF_Err gf_sg_delete_all_protos (GF_SceneGraph *sg)
 
GF_Proto * gf_node_get_proto (GF_Node *node)
 
u32 gf_sg_proto_get_id (GF_Proto *proto)
 
const char * gf_sg_proto_get_class_name (GF_Proto *proto)
 
Bool gf_sg_proto_field_is_sftime_offset (GF_Node *node, GF_FieldInfo *field)
 
GF_Err gf_sg_proto_instance_set_ised (GF_Node *protoinst, u32 protoFieldIndex, GF_Node *node, u32 nodeFieldIndex)
 
GF_Nodegf_node_get_proto_root (GF_Node *node)
 
void gf_sg_proto_mark_field_loaded (GF_Node *node, GF_FieldInfo *info)
 
void gf_sg_set_proto_loader (GF_SceneGraph *sg, GF_SceneGraph *(*GetExternProtoLib)(void *SceneCallback, MFURL *lib_url))
 
MFURLgf_sg_proto_get_extern_url (GF_Proto *proto)
 
GF_ScriptField * gf_sg_script_field_new (GF_Node *script, u32 eventType, u32 fieldType, const char *name)
 
GF_Err gf_sg_script_field_get_info (GF_ScriptField *field, GF_FieldInfo *info)
 
void gf_sg_script_event_in (GF_Node *script, GF_FieldInfo *in_field)
 
void gf_node_event_out (GF_Node *n, u32 FieldIndex)
 
void gf_node_event_out_str (GF_Node *n, const char *eventName)
 
u32 gf_node_mpeg4_type_by_class_name (const char *node_name)
 
u32 gf_node_x3d_type_by_class_name (const char *node_name)
 
Bool gf_node_proto_is_grouping (GF_Node *n)
 
GF_Err gf_node_proto_set_grouping (GF_Node *n)
 
GF_Err gf_node_set_proto_eventin_handler (GF_Node *n, u32 fieldIndex, void(*event_in_cbk)(GF_Node *pThis, struct _route *route))
 

Detailed Description

>