libgpac
Documentation of the core library of GPAC
Loading...
Searching...
No Matches
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_TextureHandler * gf_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:907
@ GF_LOG_ERROR
Definition tools.h:848
@ GF_FALSE
Definition setup.h:473
GF_Err gf_node_get_field(GF_Node *n, u32 FieldIndex, GF_FieldInfo *info)
Definition base_scenegraph.c:2155
const char * gf_sg_vrml_get_field_type_name(u32 FieldType)
Definition vrml_tools.c:761

◆ 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: