u32 gf_node_get_num_fields_in_mode(GF_Node *Node, u8 IndexMode) { assert(Node); if (Node->sgprivate->tag == TAG_ProtoNode) return gf_sg_proto_get_num_fields(Node, IndexMode); else if ((Node->sgprivate->tag == TAG_MPEG4_Script) #ifndef GPAC_DISABLE_X3D || (Node->sgprivate->tag == TAG_X3D_Script) #endif ) return gf_sg_script_get_num_fields(Node, IndexMode); else if (Node->sgprivate->tag <= GF_NODE_RANGE_LAST_MPEG4) return gf_sg_mpeg4_node_get_field_count(Node, IndexMode); #ifndef GPAC_DISABLE_X3D else if (Node->sgprivate->tag <= GF_NODE_RANGE_LAST_X3D) return gf_sg_x3d_node_get_field_count(Node); #endif else return 0; }
u32 gf_node_get_num_fields_in_mode(GF_Node *Node, u8 IndexMode) { assert(Node); #ifdef GF_NODE_USE_POINTERS return Node->sgprivate->get_field_count(Node, IndexMode); #else if (Node->sgprivate->tag == TAG_ProtoNode) return gf_sg_proto_get_num_fields(Node, IndexMode); else if ((Node->sgprivate->tag == TAG_MPEG4_Script) || (Node->sgprivate->tag == TAG_X3D_Script) ) return gf_sg_script_get_num_fields(Node, IndexMode); else if (Node->sgprivate->tag <= GF_NODE_RANGE_LAST_MPEG4) return gf_sg_mpeg4_node_get_field_count(Node, IndexMode); else if (Node->sgprivate->tag <= GF_NODE_RANGE_LAST_X3D) return gf_sg_x3d_node_get_field_count(Node); else return 0; #endif }