libgpac
Documentation of the core library of GPAC
hardcoded_protos.c File Reference
#include "nodes_stacks.h"
#include "visual_manager.h"
#include "offscreen_cache.h"
#include "mpeg4_grouping.h"
#include <gpac/modules/hardcoded_proto.h>
#include "texturing.h"
#include "gl_inc.h"
+ Include dependency graph for hardcoded_protos.c:

Data Structures

struct  PathExtrusion
 
struct  PlanarExtrusion
 
struct  PlaneClipper
 
struct  PlaneClipperStack
 
struct  OffscreenGroup
 
struct  OffscreenGroupStack
 
struct  DepthGroup
 
struct  DepthGroupStack
 
struct  IndexedCurve2D
 
struct  Untransform
 
struct  UntransformStack
 
struct  StyleGroup
 
struct  StyleGroupStack
 
struct  TestSensor
 
struct  TestSensorStack
 
struct  CustomTexture
 
struct  CustomTextureStack
 

Macros

#define CHECK_FIELD(__name, __index, __type)
 
#define VRHUD_SCALE   6
 

Functions

static Bool PathExtrusion_GetNode (GF_Node *node, PathExtrusion *path_ext)
 
static void TraversePathExtrusion (GF_Node *node, void *rs, Bool is_destroy)
 
static void compositor_init_path_extrusion (GF_Compositor *compositor, GF_Node *node)
 
static Bool PlanarExtrusion_GetNode (GF_Node *node, PlanarExtrusion *path_ext)
 
static void TraversePlanarExtrusion (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_planar_extrusion (GF_Compositor *compositor, GF_Node *node)
 
static Bool PlaneClipper_GetNode (GF_Node *node, PlaneClipper *pc)
 
static void TraversePlaneClipper (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_plane_clipper (GF_Compositor *compositor, GF_Node *node)
 
static Bool OffscreenGroup_GetNode (GF_Node *node, OffscreenGroup *og)
 
static void TraverseOffscreenGroup (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_offscreen_group (GF_Compositor *compositor, GF_Node *node)
 
static Bool DepthGroup_GetNode (GF_Node *node, DepthGroup *dg)
 
static void TraverseDepthGroup (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_depth_group (GF_Compositor *compositor, GF_Node *node)
 
static void TraverseDepthViewPoint (GF_Node *node, void *rs, Bool is_destroy)
 
static void compositor_init_depth_viewpoint (GF_Compositor *compositor, GF_Node *node)
 
static Bool IndexedCurve2D_GetNode (GF_Node *node, IndexedCurve2D *ic2d)
 
void curve2d_check_changes (GF_Node *node, Drawable *stack, GF_TraverseState *tr_state, MFInt32 *idx)
 
static void TraverseIndexedCurve2D (GF_Node *node, void *rs, Bool is_destroy)
 
static void compositor_init_idx_curve2d (GF_Compositor *compositor, GF_Node *node)
 
static Bool Untransform_GetNode (GF_Node *node, Untransform *tr)
 
void TraverseUntransformEx (GF_Node *node, void *rs, GroupingNode2D *grp)
 
static void TraverseUntransform (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_untransform (GF_Compositor *compositor, GF_Node *node)
 
static Bool StyleGroup_GetNode (GF_Node *node, StyleGroup *sg)
 
static void TraverseStyleGroup (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_style_group (GF_Compositor *compositor, GF_Node *node)
 
static Bool TestSensor_GetNode (GF_Node *node, TestSensor *ts)
 
static void TraverseTestSensor (GF_Node *node, void *rs, Bool is_destroy)
 
void TestSensor_OnTrigger (GF_Node *node, struct _route *route)
 
void compositor_init_test_sensor (GF_Compositor *compositor, GF_Node *node)
 
static Bool CustomTexture_GetNode (GF_Node *node, CustomTexture *tx)
 
static void TraverseCustomTexture (GF_Node *node, void *rs, Bool is_destroy)
 
static void CustomTexture_update (GF_TextureHandler *txh)
 
void compositor_init_custom_texture (GF_Compositor *compositor, GF_Node *node)
 
static void TraverseVRGeometry (GF_Node *node, void *rs, Bool is_destroy)
 
static void compositor_init_vr_geometry (GF_Compositor *compositor, GF_Node *node)
 
static void TraverseVRHUD (GF_Node *node, void *rs, Bool is_destroy)
 
void compositor_init_vrhud (GF_Compositor *compositor, GF_Node *node)
 
void get_tx_coords_from_angle (GF_TraverseState *tr_state, GF_TextureHandler *txh, Bool horizontal, u32 *min_coord, u32 *max_coord)
 
static void TraverseSRDSphere (GF_Node *node, void *rs, Bool is_destroy)
 
static void compositor_init_srd_sphere (GF_Compositor *compositor, GF_Node *node)
 
void gf_sc_init_hardcoded_proto (GF_Compositor *compositor, GF_Node *node)
 
Bool gf_sc_uri_is_hardcoded_proto (GF_Compositor *compositor, const char *uri)
 
GF_TextureHandlergf_sc_hardcoded_proto_get_texture_handler (GF_Node *n)
 

Data Structure Documentation

◆ PathExtrusion

struct PathExtrusion
+ Collaboration diagram for PathExtrusion:
Data Fields
GF_Node * geometry
MFVec3f * spine
Bool beginCap
Bool endCap
Fixed creaseAngle
MFRotation * orientation
MFVec2f * scale
Bool txAlongSpine

◆ PlanarExtrusion

struct PlanarExtrusion
+ Collaboration diagram for PlanarExtrusion:
Data Fields
GF_Node * geometry
GF_Node * spine
Bool beginCap
Bool endCap
Fixed creaseAngle
MFFloat * orientationKeys
MFRotation * orientation
MFFloat * scaleKeys
MFVec2f * scale
Bool txAlongSpine

◆ PlaneClipper

struct PlaneClipper
+ Collaboration diagram for PlaneClipper:
Data Fields
BASE_NODE CHILDREN GF_Plane plane

◆ PlaneClipperStack

struct PlaneClipperStack
+ Collaboration diagram for PlaneClipperStack:
Data Fields
GROUPING_NODE_STACK_3D PlaneClipper pc

◆ OffscreenGroup

struct OffscreenGroup
Data Fields
BASE_NODE CHILDREN s32 offscreen
Fixed opacity

◆ OffscreenGroupStack

struct OffscreenGroupStack
+ Collaboration diagram for OffscreenGroupStack:
Data Fields
GROUPING_MPEG4_STACK_2D struct _group_cache * cache
OffscreenGroup og
Bool detached

◆ DepthGroup

struct DepthGroup
Data Fields
BASE_NODE CHILDREN Fixed depth_gain
BASE_NODE CHILDREN Fixed depth_offset

◆ DepthGroupStack

struct DepthGroupStack
+ Collaboration diagram for DepthGroupStack:
Data Fields
GROUPING_MPEG4_STACK_2D DepthGroup dg

◆ IndexedCurve2D

struct IndexedCurve2D
+ Collaboration diagram for IndexedCurve2D:
Data Fields
BASE_NODE GF_Node * point
Fixed fineness
MFInt32 type
MFInt32 index

◆ Untransform

struct Untransform

◆ UntransformStack

struct UntransformStack
+ Collaboration diagram for UntransformStack:
Data Fields
GROUPING_MPEG4_STACK_2D Untransform untr

◆ StyleGroup

struct StyleGroup
+ Collaboration diagram for StyleGroup:
Data Fields
BASE_NODE CHILDREN GF_Node * appearance

◆ StyleGroupStack

struct StyleGroupStack
+ Collaboration diagram for StyleGroupStack:
Data Fields
GROUPING_MPEG4_STACK_2D StyleGroup sg

◆ TestSensor

struct TestSensor
Data Fields
BASE_NODE Bool onTrigger
Fixed value

◆ TestSensorStack

struct TestSensorStack
+ Collaboration diagram for TestSensorStack:
Data Fields
TestSensor ts

◆ CustomTexture

struct CustomTexture
Data Fields
BASE_NODE Fixed intensity

◆ CustomTextureStack

struct CustomTextureStack
+ Collaboration diagram for CustomTextureStack:
Data Fields
CustomTexture tx
GF_TextureHandler txh
u32 gl_id
Bool disabled

Macro Definition Documentation

◆ CHECK_FIELD

#define CHECK_FIELD (   __name,
  __index,
  __type 
)
Value:
if (gf_node_get_field(node, __index, &field) != GF_OK) {\
GF_LOG(GF_LOG_ERROR, GF_LOG_COMPOSE, ("[HardcodedProtos] Cannot get field index %d for proto %s\n", __index, __name));\
return GF_FALSE; \
}\
if (field.fieldType != __type) {\
GF_LOG(GF_LOG_ERROR, GF_LOG_COMPOSE, ("[HardcodedProtos] %s field idx %d (%s) is not of type %s\n", __name, field.fieldIndex, field.name, gf_sg_vrml_get_field_type_name(__type) ));\
return GF_FALSE;\
}
@ GF_OK
Definition: tools.h:132
@ GF_LOG_COMPOSE
Definition: tools.h:800
@ GF_LOG_ERROR
Definition: tools.h:741
@ GF_FALSE
Definition: setup.h:473
GF_Err gf_node_get_field(GF_Node *n, u32 FieldIndex, GF_FieldInfo *info)
Definition: base_scenegraph.c:2037
const char * gf_sg_vrml_get_field_type_name(u32 FieldType)
Definition: vrml_tools.c:749

◆ VRHUD_SCALE

#define VRHUD_SCALE   6

Function Documentation

◆ PathExtrusion_GetNode()

static Bool PathExtrusion_GetNode ( GF_Node node,
PathExtrusion path_ext 
)
static
+ Here is the caller graph for this function:

◆ TraversePathExtrusion()

static void TraversePathExtrusion ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_path_extrusion()

static void compositor_init_path_extrusion ( GF_Compositor *  compositor,
GF_Node node 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PlanarExtrusion_GetNode()

static Bool PlanarExtrusion_GetNode ( GF_Node node,
PlanarExtrusion path_ext 
)
static
+ Here is the caller graph for this function:

◆ TraversePlanarExtrusion()

static void TraversePlanarExtrusion ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_planar_extrusion()

void compositor_init_planar_extrusion ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PlaneClipper_GetNode()

static Bool PlaneClipper_GetNode ( GF_Node node,
PlaneClipper pc 
)
static
+ Here is the caller graph for this function:

◆ TraversePlaneClipper()

static void TraversePlaneClipper ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_plane_clipper()

void compositor_init_plane_clipper ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OffscreenGroup_GetNode()

static Bool OffscreenGroup_GetNode ( GF_Node node,
OffscreenGroup og 
)
static
+ Here is the caller graph for this function:

◆ TraverseOffscreenGroup()

static void TraverseOffscreenGroup ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_offscreen_group()

void compositor_init_offscreen_group ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DepthGroup_GetNode()

static Bool DepthGroup_GetNode ( GF_Node node,
DepthGroup dg 
)
static
+ Here is the caller graph for this function:

◆ TraverseDepthGroup()

static void TraverseDepthGroup ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_depth_group()

void compositor_init_depth_group ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TraverseDepthViewPoint()

static void TraverseDepthViewPoint ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_depth_viewpoint()

static void compositor_init_depth_viewpoint ( GF_Compositor *  compositor,
GF_Node node 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IndexedCurve2D_GetNode()

static Bool IndexedCurve2D_GetNode ( GF_Node node,
IndexedCurve2D ic2d 
)
static
+ Here is the caller graph for this function:

◆ curve2d_check_changes()

void curve2d_check_changes ( GF_Node node,
Drawable *  stack,
GF_TraverseState *  tr_state,
MFInt32 idx 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TraverseIndexedCurve2D()

static void TraverseIndexedCurve2D ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_idx_curve2d()

static void compositor_init_idx_curve2d ( GF_Compositor *  compositor,
GF_Node node 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Untransform_GetNode()

static Bool Untransform_GetNode ( GF_Node node,
Untransform tr 
)
static
+ Here is the caller graph for this function:

◆ TraverseUntransformEx()

void TraverseUntransformEx ( GF_Node node,
void *  rs,
GroupingNode2D grp 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TraverseUntransform()

static void TraverseUntransform ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_untransform()

void compositor_init_untransform ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StyleGroup_GetNode()

static Bool StyleGroup_GetNode ( GF_Node node,
StyleGroup sg 
)
static
+ Here is the caller graph for this function:

◆ TraverseStyleGroup()

static void TraverseStyleGroup ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_style_group()

void compositor_init_style_group ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TestSensor_GetNode()

static Bool TestSensor_GetNode ( GF_Node node,
TestSensor ts 
)
static
+ Here is the caller graph for this function:

◆ TraverseTestSensor()

static void TraverseTestSensor ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TestSensor_OnTrigger()

void TestSensor_OnTrigger ( GF_Node node,
struct _route route 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_test_sensor()

void compositor_init_test_sensor ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CustomTexture_GetNode()

static Bool CustomTexture_GetNode ( GF_Node node,
CustomTexture tx 
)
static
+ Here is the caller graph for this function:

◆ TraverseCustomTexture()

static void TraverseCustomTexture ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CustomTexture_update()

static void CustomTexture_update ( GF_TextureHandler txh)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_custom_texture()

void compositor_init_custom_texture ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TraverseVRGeometry()

static void TraverseVRGeometry ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_vr_geometry()

static void compositor_init_vr_geometry ( GF_Compositor *  compositor,
GF_Node node 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TraverseVRHUD()

static void TraverseVRHUD ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_vrhud()

void compositor_init_vrhud ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_tx_coords_from_angle()

void get_tx_coords_from_angle ( GF_TraverseState *  tr_state,
GF_TextureHandler txh,
Bool  horizontal,
u32 min_coord,
u32 max_coord 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TraverseSRDSphere()

static void TraverseSRDSphere ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ compositor_init_srd_sphere()

static void compositor_init_srd_sphere ( GF_Compositor *  compositor,
GF_Node node 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_init_hardcoded_proto()

void gf_sc_init_hardcoded_proto ( GF_Compositor *  compositor,
GF_Node node 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_sc_hardcoded_proto_get_texture_handler()

GF_TextureHandler* gf_sc_hardcoded_proto_get_texture_handler ( GF_Node n)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: