29#ifndef PX_REPX_META_DATA_PROPERTY_VISITOR_H
30#define PX_REPX_META_DATA_PROPERTY_VISITOR_H
31#include "PvdMetaDataPropertyVisitor.h"
35 template<PxU32 TKey,
typename TObjectType,
typename TSetPropType,
typename TPropertyType>
39 typedef TPropertyType prop_type;
46 prop_type get(
const TObjectType* inObj )
const {
return mProperty.get( inObj ); }
47 void set( TObjectType* inObj, prop_type val )
const {
return mProperty.set( inObj, val ); }
53 template<
typename TSetPropType,
typename TPropertyType>
57 typedef TPropertyType prop_type;
64 prop_type get(
const PxRigidDynamic* inObj )
const {
return mProperty.get( inObj ); }
70 return mProperty.set( inObj, val );
82 template<
typename TOperatorType>
91 template<PxU32 TKey,
typename TObjType,
typename TPropertyType>
93 template<PxU32 TKey,
typename TObjType,
typename TPropertyType>
95 template<PxU32 TKey,
typename TObjType,
typename TCollectionType>
98 template<PxU32 TKey,
typename TObjType,
typename TCollectionType,
typename TFilterType>
101 template<PxU32 TKey,
typename TObjType,
typename TIndexType,
typename TPropertyType>
104 mFilter( inProp, idx );
107 template<PxU32 TKey,
typename TObjType,
typename TIndexType,
typename TPropertyType>
110 mFilter( inProp, idx );
113 template<PxU32 TKey,
typename TObjType,
typename TIndexType,
typename TPropertyType>
116 mFilter( inProp, idx);
119 template<PxU32 TKey,
typename TObjType,
typename TIndexType,
typename TIndex2Type,
typename TPropertyType>
122 mFilter( inProp, idx );
125 template<PxU32 TKey,
typename TObjType,
typename TIndexType,
typename TIndex2Type,
typename TPropertyType>
128 mFilter( inProp, idx );
131 template<PxU32 TKey,
typename TObjType,
typename TPropertyType>
134 mFilter( inProp, idx );
137 template<PxU32 TKey,
typename TObjType,
typename TPropertyType>
140 mFilter( inProp, count );
143 template<PxU32 TKey,
typename TObjType,
typename TSetPropType,
typename TPropertyType>
147 mFilter.mOperator.pushName( prop.mName );
148 mFilter.template handleAccessor<TKey>( theAccessor );
149 mFilter.mOperator.popName();
154 mFilter.mOperator.pushName(inProp.mName);
155 mFilter.mOperator.handleRigidActorGlobalPose(inProp);
156 mFilter.mOperator.popName();
161 mFilter.mOperator.pushName(
"Shapes" );
162 mFilter.mOperator.handleShapes( inProp );
163 mFilter.mOperator.popName();
168 mFilter.mOperator.pushName(
"Links" );
169 mFilter.mOperator.handleArticulationLinks( inProp );
170 mFilter.mOperator.popName();
175 mFilter.mOperator.pushName(
"Materials" );
176 mFilter.mOperator.handleShapeMaterials( inProp );
177 mFilter.mOperator.popName();
182 mFilter.mOperator.handleIncomingJoint( inProp );
187 mFilter.mOperator.handleGeomProperty( inProp );
190#define DEFINE_REPX_PROPERTY_NOP(datatype) \
191 template<PxU32 TKey, typename TObjType, typename TSetPropType> \
192 void operator()( const PxPropertyInfo<TKey,TObjType,TSetPropType,datatype>&, PxU32 ){}
194 DEFINE_REPX_PROPERTY_NOP(
const void* )
195 DEFINE_REPX_PROPERTY_NOP(
void* )
203 DEFINE_REPX_PROPERTY_NOP( physx::PxCudaContextManager* )
209 DEFINE_REPX_PROPERTY_NOP(
PxScene* )
Class to aggregate actors into a single broad-phase entry.
Definition PxAggregate.h:98
A component of an articulation that represents a rigid body.
Definition PxArticulationLink.h:54
A tree structure of bodies connected by joints that is treated as a unit by the dynamics solver....
Definition PxArticulationReducedCoordinate.h:448
A CpuDispatcher is responsible for scheduling the execution of tasks passed to it by the SDK.
Definition PxCpuDispatcher.h:50
PxRigidActor represents a base class shared between dynamic and static rigid bodies in the physics SD...
Definition PxRigidActor.h:53
virtual PxRigidBodyFlags getRigidBodyFlags() const =0
Reads the PxRigidBody flags.
PxRigidDynamic represents a dynamic rigid simulation object in the physics SDK.
Definition PxRigidDynamic.h:82
PxRigidStatic represents a static rigid body simulation object in the physics SDK.
Definition PxRigidStatic.h:58
A scene is a collection of bodies and constraints which can interact.
Definition PxScene.h:178
An interface class that the user can implement in order to receive simulation events.
Definition PxSimulationEventCallback.h:792
Filter callback to specify handling of collision pairs.
Definition PxFiltering.h:633
The PxTaskManager interface.
Definition PxTaskManager.h:81
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
PxFilterFlags(* PxSimulationFilterShader)(PxFilterObjectAttributes attributes0, PxFilterData filterData0, PxFilterObjectAttributes attributes1, PxFilterData filterData1, PxPairFlags &pairFlags, const void *constantBlock, PxU32 constantBlockSize)
Filter method to specify how a pair of potentially colliding objects should be processed.
Definition PxFiltering.h:604
Definition PxMetaDataObjects.h:575
Definition PxMetaDataObjects.h:298
Definition PxMetaDataObjects.h:255
Definition PxMetaDataObjects.h:274
Definition PxMetaDataObjects.h:230
Definition PxMetaDataObjects.h:321
Definition PxMetaDataObjects.h:211
Definition PxMetaDataObjects.h:114
Definition PxMetaDataObjects.h:173
Definition PxMetaDataObjects.h:186
Definition PxMetaDataObjects.h:353
Definition PxMetaDataObjects.h:373
Definition PxMetaDataObjects.h:149
Definition RepXMetaDataPropertyVisitor.h:37
Definition PxMetaDataObjects.h:559
@ eKINEMATIC
Enables kinematic mode for the actor.
Definition PxRigidBody.h:74
Definition PxMetaDataObjects.h:520
Definition PxMetaDataObjects.h:540
Definition PxCoreUtilityTypes.h:45
Definition PxMetaDataObjects.h:160
Definition RepXMetaDataPropertyVisitor.h:84
Definition PvdMetaDataPropertyVisitor.h:45
Definition PvdMetaDataExtensions.h:109