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"

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 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
Data Fields
GF_Node * geometry
MFVec3f * spine
Bool beginCap
Bool endCap
Fixed creaseAngle
MFRotation * orientation
MFVec2f * scale
Bool txAlongSpine

◆ PlanarExtrusion

struct 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
Data Fields
BASE_NODE CHILDREN GF_Plane plane

◆ PlaneClipperStack

struct PlaneClipperStack

◆ OffscreenGroup

struct OffscreenGroup
Data Fields
BASE_NODE CHILDREN s32 offscreen
Fixed opacity

◆ OffscreenGroupStack

struct 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

◆ IndexedCurve2D

struct IndexedCurve2D
Data Fields
BASE_NODE GF_Node * point
Fixed fineness
MFInt32 type
MFInt32 index

◆ Untransform

struct Untransform

◆ UntransformStack

struct UntransformStack

◆ StyleGroup

struct StyleGroup
Data Fields
BASE_NODE CHILDREN GF_Node * appearance

◆ StyleGroupStack

struct StyleGroupStack

◆ TestSensor

struct TestSensor
Data Fields
BASE_NODE Bool onTrigger
Fixed value

◆ TestSensorStack

struct TestSensorStack
Data Fields
TestSensor ts

◆ CustomTexture

struct CustomTexture
Data Fields
BASE_NODE Fixed intensity

◆ CustomTextureStack

struct 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:120
@ GF_LOG_COMPOSE
Definition tools.h:739
@ GF_LOG_ERROR
Definition tools.h:680
@ GF_FALSE
Definition setup.h:434
GF_Err gf_node_get_field(GF_Node *n, u32 FieldIndex, GF_FieldInfo *info)
Definition base_scenegraph.c:2039
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

◆ TraversePathExtrusion()

static void TraversePathExtrusion ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_path_extrusion()

static void compositor_init_path_extrusion ( GF_Compositor *  compositor,
GF_Node node 
)
static

◆ PlanarExtrusion_GetNode()

static Bool PlanarExtrusion_GetNode ( GF_Node node,
PlanarExtrusion path_ext 
)
static

◆ TraversePlanarExtrusion()

static void TraversePlanarExtrusion ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_planar_extrusion()

void compositor_init_planar_extrusion ( GF_Compositor *  compositor,
GF_Node node 
)

◆ PlaneClipper_GetNode()

static Bool PlaneClipper_GetNode ( GF_Node node,
PlaneClipper pc 
)
static

◆ TraversePlaneClipper()

static void TraversePlaneClipper ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_plane_clipper()

void compositor_init_plane_clipper ( GF_Compositor *  compositor,
GF_Node node 
)

◆ OffscreenGroup_GetNode()

static Bool OffscreenGroup_GetNode ( GF_Node node,
OffscreenGroup og 
)
static

◆ TraverseOffscreenGroup()

static void TraverseOffscreenGroup ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_offscreen_group()

void compositor_init_offscreen_group ( GF_Compositor *  compositor,
GF_Node node 
)

◆ DepthGroup_GetNode()

static Bool DepthGroup_GetNode ( GF_Node node,
DepthGroup dg 
)
static

◆ TraverseDepthGroup()

static void TraverseDepthGroup ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_depth_group()

void compositor_init_depth_group ( GF_Compositor *  compositor,
GF_Node node 
)

◆ TraverseDepthViewPoint()

static void TraverseDepthViewPoint ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_depth_viewpoint()

static void compositor_init_depth_viewpoint ( GF_Compositor *  compositor,
GF_Node node 
)
static

◆ IndexedCurve2D_GetNode()

static Bool IndexedCurve2D_GetNode ( GF_Node node,
IndexedCurve2D ic2d 
)
static

◆ curve2d_check_changes()

void curve2d_check_changes ( GF_Node node,
Drawable *  stack,
GF_TraverseState *  tr_state,
MFInt32 idx 
)

◆ TraverseIndexedCurve2D()

static void TraverseIndexedCurve2D ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_idx_curve2d()

static void compositor_init_idx_curve2d ( GF_Compositor *  compositor,
GF_Node node 
)
static

◆ Untransform_GetNode()

static Bool Untransform_GetNode ( GF_Node node,
Untransform tr 
)
static

◆ TraverseUntransformEx()

void TraverseUntransformEx ( GF_Node node,
void *  rs,
GroupingNode2D grp 
)

◆ TraverseUntransform()

static void TraverseUntransform ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_untransform()

void compositor_init_untransform ( GF_Compositor *  compositor,
GF_Node node 
)

◆ StyleGroup_GetNode()

static Bool StyleGroup_GetNode ( GF_Node node,
StyleGroup sg 
)
static

◆ TraverseStyleGroup()

static void TraverseStyleGroup ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_style_group()

void compositor_init_style_group ( GF_Compositor *  compositor,
GF_Node node 
)

◆ TestSensor_GetNode()

static Bool TestSensor_GetNode ( GF_Node node,
TestSensor ts 
)
static

◆ TraverseTestSensor()

static void TraverseTestSensor ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ TestSensor_OnTrigger()

void TestSensor_OnTrigger ( GF_Node node,
struct _route route 
)

◆ compositor_init_test_sensor()

void compositor_init_test_sensor ( GF_Compositor *  compositor,
GF_Node node 
)

◆ CustomTexture_GetNode()

static Bool CustomTexture_GetNode ( GF_Node node,
CustomTexture tx 
)
static

◆ TraverseCustomTexture()

static void TraverseCustomTexture ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ CustomTexture_update()

static void CustomTexture_update ( GF_TextureHandler txh)
static

◆ compositor_init_custom_texture()

void compositor_init_custom_texture ( GF_Compositor *  compositor,
GF_Node node 
)

◆ TraverseVRGeometry()

static void TraverseVRGeometry ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_vr_geometry()

static void compositor_init_vr_geometry ( GF_Compositor *  compositor,
GF_Node node 
)
static

◆ TraverseVRHUD()

static void TraverseVRHUD ( GF_Node node,
void *  rs,
Bool  is_destroy 
)
static

◆ compositor_init_vrhud()

void compositor_init_vrhud ( GF_Compositor *  compositor,
GF_Node node 
)

◆ gf_sc_init_hardcoded_proto()

void gf_sc_init_hardcoded_proto ( GF_Compositor *  compositor,
GF_Node node 
)

◆ gf_sc_hardcoded_proto_get_texture_handler()

GF_TextureHandler * gf_sc_hardcoded_proto_get_texture_handler ( GF_Node n)