| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987 |
- /* Copyright (C) 2011 Erwin Coumans & Charlie C
- *
- * This software is provided 'as-is', without any express or implied
- * warranty. In no event will the authors be held liable for any damages
- * arising from the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software
- * in a product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- * 3. This notice may not be removed or altered from any source distribution.
- */
- // Auto generated from Bullet/Extras/HeaderGenerator/bulletGenerate.py
- #ifndef __BULLET2_H__
- #define __BULLET2_H__
- namespace Bullet3SerializeBullet2
- {
- // put an empty struct in the case
- typedef struct bInvalidHandle
- {
- int unused;
- } bInvalidHandle;
- class PointerArray;
- class b3PhysicsSystem;
- class ListBase;
- class b3Vector3FloatData;
- class b3Vector3DoubleData;
- class b3Matrix3x3FloatData;
- class b3Matrix3x3DoubleData;
- class b3TransformFloatData;
- class b3TransformDoubleData;
- class b3BvhSubtreeInfoData;
- class b3OptimizedBvhNodeFloatData;
- class b3OptimizedBvhNodeDoubleData;
- class b3QuantizedBvhNodeData;
- class b3QuantizedBvhFloatData;
- class b3QuantizedBvhDoubleData;
- class b3CollisionShapeData;
- class b3StaticPlaneShapeData;
- class b3ConvexInternalShapeData;
- class b3PositionAndRadius;
- class b3MultiSphereShapeData;
- class b3IntIndexData;
- class b3ShortIntIndexData;
- class b3ShortIntIndexTripletData;
- class b3CharIndexTripletData;
- class b3MeshPartData;
- class b3StridingMeshInterfaceData;
- class b3TriangleMeshShapeData;
- class b3ScaledTriangleMeshShapeData;
- class b3CompoundShapeChildData;
- class b3CompoundShapeData;
- class b3CylinderShapeData;
- class b3CapsuleShapeData;
- class b3TriangleInfoData;
- class b3TriangleInfoMapData;
- class b3GImpactMeshShapeData;
- class b3ConvexHullShapeData;
- class b3CollisionObjectDoubleData;
- class b3CollisionObjectFloatData;
- class b3DynamicsWorldDoubleData;
- class b3DynamicsWorldFloatData;
- class b3RigidBodyFloatData;
- class b3RigidBodyDoubleData;
- class b3ConstraintInfo1;
- class b3TypedConstraintData;
- class b3Point2PointConstraintFloatData;
- class b3Point2PointConstraintDoubleData;
- class b3HingeConstraintDoubleData;
- class b3HingeConstraintFloatData;
- class b3ConeTwistConstraintData;
- class b3Generic6DofConstraintData;
- class b3Generic6DofSpringConstraintData;
- class b3SliderConstraintData;
- class b3ContactSolverInfoDoubleData;
- class b3ContactSolverInfoFloatData;
- class SoftBodyMaterialData;
- class SoftBodyNodeData;
- class SoftBodyLinkData;
- class SoftBodyFaceData;
- class SoftBodyTetraData;
- class SoftRigidAnchorData;
- class SoftBodyConfigData;
- class SoftBodyPoseData;
- class SoftBodyClusterData;
- class b3SoftBodyJointData;
- class b3SoftBodyFloatData;
- // -------------------------------------------------- //
- class PointerArray
- {
- public:
- int m_size;
- int m_capacity;
- void *m_data;
- };
- // -------------------------------------------------- //
- class b3PhysicsSystem
- {
- public:
- PointerArray m_collisionShapes;
- PointerArray m_collisionObjects;
- PointerArray m_constraints;
- };
- // -------------------------------------------------- //
- class ListBase
- {
- public:
- void *first;
- void *last;
- };
- // -------------------------------------------------- //
- class b3Vector3FloatData
- {
- public:
- float m_floats[4];
- };
- // -------------------------------------------------- //
- class b3Vector3DoubleData
- {
- public:
- double m_floats[4];
- };
- // -------------------------------------------------- //
- class b3Matrix3x3FloatData
- {
- public:
- b3Vector3FloatData m_el[3];
- };
- // -------------------------------------------------- //
- class b3Matrix3x3DoubleData
- {
- public:
- b3Vector3DoubleData m_el[3];
- };
- // -------------------------------------------------- //
- class b3TransformFloatData
- {
- public:
- b3Matrix3x3FloatData m_basis;
- b3Vector3FloatData m_origin;
- };
- // -------------------------------------------------- //
- class b3TransformDoubleData
- {
- public:
- b3Matrix3x3DoubleData m_basis;
- b3Vector3DoubleData m_origin;
- };
- // -------------------------------------------------- //
- class b3BvhSubtreeInfoData
- {
- public:
- int m_rootNodeIndex;
- int m_subtreeSize;
- short m_quantizedAabbMin[3];
- short m_quantizedAabbMax[3];
- };
- // -------------------------------------------------- //
- class b3OptimizedBvhNodeFloatData
- {
- public:
- b3Vector3FloatData m_aabbMinOrg;
- b3Vector3FloatData m_aabbMaxOrg;
- int m_escapeIndex;
- int m_subPart;
- int m_triangleIndex;
- char m_pad[4];
- };
- // -------------------------------------------------- //
- class b3OptimizedBvhNodeDoubleData
- {
- public:
- b3Vector3DoubleData m_aabbMinOrg;
- b3Vector3DoubleData m_aabbMaxOrg;
- int m_escapeIndex;
- int m_subPart;
- int m_triangleIndex;
- char m_pad[4];
- };
- // -------------------------------------------------- //
- class b3QuantizedBvhNodeData
- {
- public:
- short m_quantizedAabbMin[3];
- short m_quantizedAabbMax[3];
- int m_escapeIndexOrTriangleIndex;
- };
- // -------------------------------------------------- //
- class b3QuantizedBvhFloatData
- {
- public:
- b3Vector3FloatData m_bvhAabbMin;
- b3Vector3FloatData m_bvhAabbMax;
- b3Vector3FloatData m_bvhQuantization;
- int m_curNodeIndex;
- int m_useQuantization;
- int m_numContiguousLeafNodes;
- int m_numQuantizedContiguousNodes;
- b3OptimizedBvhNodeFloatData *m_contiguousNodesPtr;
- b3QuantizedBvhNodeData *m_quantizedContiguousNodesPtr;
- b3BvhSubtreeInfoData *m_subTreeInfoPtr;
- int m_traversalMode;
- int m_numSubtreeHeaders;
- };
- // -------------------------------------------------- //
- class b3QuantizedBvhDoubleData
- {
- public:
- b3Vector3DoubleData m_bvhAabbMin;
- b3Vector3DoubleData m_bvhAabbMax;
- b3Vector3DoubleData m_bvhQuantization;
- int m_curNodeIndex;
- int m_useQuantization;
- int m_numContiguousLeafNodes;
- int m_numQuantizedContiguousNodes;
- b3OptimizedBvhNodeDoubleData *m_contiguousNodesPtr;
- b3QuantizedBvhNodeData *m_quantizedContiguousNodesPtr;
- int m_traversalMode;
- int m_numSubtreeHeaders;
- b3BvhSubtreeInfoData *m_subTreeInfoPtr;
- };
- // -------------------------------------------------- //
- class b3CollisionShapeData
- {
- public:
- char *m_name;
- int m_shapeType;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3StaticPlaneShapeData
- {
- public:
- b3CollisionShapeData m_collisionShapeData;
- b3Vector3FloatData m_localScaling;
- b3Vector3FloatData m_planeNormal;
- float m_planeConstant;
- char m_pad[4];
- };
- // -------------------------------------------------- //
- class b3ConvexInternalShapeData
- {
- public:
- b3CollisionShapeData m_collisionShapeData;
- b3Vector3FloatData m_localScaling;
- b3Vector3FloatData m_implicitShapeDimensions;
- float m_collisionMargin;
- int m_padding;
- };
- // -------------------------------------------------- //
- class b3PositionAndRadius
- {
- public:
- b3Vector3FloatData m_pos;
- float m_radius;
- };
- // -------------------------------------------------- //
- class b3MultiSphereShapeData
- {
- public:
- b3ConvexInternalShapeData m_convexInternalShapeData;
- b3PositionAndRadius *m_localPositionArrayPtr;
- int m_localPositionArraySize;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3IntIndexData
- {
- public:
- int m_value;
- };
- // -------------------------------------------------- //
- class b3ShortIntIndexData
- {
- public:
- short m_value;
- char m_pad[2];
- };
- // -------------------------------------------------- //
- class b3ShortIntIndexTripletData
- {
- public:
- short m_values[3];
- char m_pad[2];
- };
- // -------------------------------------------------- //
- class b3CharIndexTripletData
- {
- public:
- char m_values[3];
- char m_pad;
- };
- // -------------------------------------------------- //
- class b3MeshPartData
- {
- public:
- b3Vector3FloatData *m_vertices3f;
- b3Vector3DoubleData *m_vertices3d;
- b3IntIndexData *m_indices32;
- b3ShortIntIndexTripletData *m_3indices16;
- b3CharIndexTripletData *m_3indices8;
- b3ShortIntIndexData *m_indices16;
- int m_numTriangles;
- int m_numVertices;
- };
- // -------------------------------------------------- //
- class b3StridingMeshInterfaceData
- {
- public:
- b3MeshPartData *m_meshPartsPtr;
- b3Vector3FloatData m_scaling;
- int m_numMeshParts;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3TriangleMeshShapeData
- {
- public:
- b3CollisionShapeData m_collisionShapeData;
- b3StridingMeshInterfaceData m_meshInterface;
- b3QuantizedBvhFloatData *m_quantizedFloatBvh;
- b3QuantizedBvhDoubleData *m_quantizedDoubleBvh;
- b3TriangleInfoMapData *m_triangleInfoMap;
- float m_collisionMargin;
- char m_pad3[4];
- };
- // -------------------------------------------------- //
- class b3ScaledTriangleMeshShapeData
- {
- public:
- b3TriangleMeshShapeData m_trimeshShapeData;
- b3Vector3FloatData m_localScaling;
- };
- // -------------------------------------------------- //
- class b3CompoundShapeChildData
- {
- public:
- b3TransformFloatData m_transform;
- b3CollisionShapeData *m_childShape;
- int m_childShapeType;
- float m_childMargin;
- };
- // -------------------------------------------------- //
- class b3CompoundShapeData
- {
- public:
- b3CollisionShapeData m_collisionShapeData;
- b3CompoundShapeChildData *m_childShapePtr;
- int m_numChildShapes;
- float m_collisionMargin;
- };
- // -------------------------------------------------- //
- class b3CylinderShapeData
- {
- public:
- b3ConvexInternalShapeData m_convexInternalShapeData;
- int m_upAxis;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3CapsuleShapeData
- {
- public:
- b3ConvexInternalShapeData m_convexInternalShapeData;
- int m_upAxis;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3TriangleInfoData
- {
- public:
- int m_flags;
- float m_edgeV0V1Angle;
- float m_edgeV1V2Angle;
- float m_edgeV2V0Angle;
- };
- // -------------------------------------------------- //
- class b3TriangleInfoMapData
- {
- public:
- int *m_hashTablePtr;
- int *m_nextPtr;
- b3TriangleInfoData *m_valueArrayPtr;
- int *m_keyArrayPtr;
- float m_convexEpsilon;
- float m_planarEpsilon;
- float m_equalVertexThreshold;
- float m_edgeDistanceThreshold;
- float m_zeroAreaThreshold;
- int m_nextSize;
- int m_hashTableSize;
- int m_numValues;
- int m_numKeys;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3GImpactMeshShapeData
- {
- public:
- b3CollisionShapeData m_collisionShapeData;
- b3StridingMeshInterfaceData m_meshInterface;
- b3Vector3FloatData m_localScaling;
- float m_collisionMargin;
- int m_gimpactSubType;
- };
- // -------------------------------------------------- //
- class b3ConvexHullShapeData
- {
- public:
- b3ConvexInternalShapeData m_convexInternalShapeData;
- b3Vector3FloatData *m_unscaledPointsFloatPtr;
- b3Vector3DoubleData *m_unscaledPointsDoublePtr;
- int m_numUnscaledPoints;
- char m_padding3[4];
- };
- // -------------------------------------------------- //
- class b3CollisionObjectDoubleData
- {
- public:
- void *m_broadphaseHandle;
- void *m_collisionShape;
- b3CollisionShapeData *m_rootCollisionShape;
- char *m_name;
- b3TransformDoubleData m_worldTransform;
- b3TransformDoubleData m_interpolationWorldTransform;
- b3Vector3DoubleData m_interpolationLinearVelocity;
- b3Vector3DoubleData m_interpolationAngularVelocity;
- b3Vector3DoubleData m_anisotropicFriction;
- double m_contactProcessingThreshold;
- double m_deactivationTime;
- double m_friction;
- double m_rollingFriction;
- double m_restitution;
- double m_hitFraction;
- double m_ccdSweptSphereRadius;
- double m_ccdMotionThreshold;
- int m_hasAnisotropicFriction;
- int m_collisionFlags;
- int m_islandTag1;
- int m_companionId;
- int m_activationState1;
- int m_internalType;
- int m_checkCollideWith;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3CollisionObjectFloatData
- {
- public:
- void *m_broadphaseHandle;
- void *m_collisionShape;
- b3CollisionShapeData *m_rootCollisionShape;
- char *m_name;
- b3TransformFloatData m_worldTransform;
- b3TransformFloatData m_interpolationWorldTransform;
- b3Vector3FloatData m_interpolationLinearVelocity;
- b3Vector3FloatData m_interpolationAngularVelocity;
- b3Vector3FloatData m_anisotropicFriction;
- float m_contactProcessingThreshold;
- float m_deactivationTime;
- float m_friction;
- float m_rollingFriction;
- float m_restitution;
- float m_hitFraction;
- float m_ccdSweptSphereRadius;
- float m_ccdMotionThreshold;
- int m_hasAnisotropicFriction;
- int m_collisionFlags;
- int m_islandTag1;
- int m_companionId;
- int m_activationState1;
- int m_internalType;
- int m_checkCollideWith;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3RigidBodyFloatData
- {
- public:
- b3CollisionObjectFloatData m_collisionObjectData;
- b3Matrix3x3FloatData m_invInertiaTensorWorld;
- b3Vector3FloatData m_linearVelocity;
- b3Vector3FloatData m_angularVelocity;
- b3Vector3FloatData m_angularFactor;
- b3Vector3FloatData m_linearFactor;
- b3Vector3FloatData m_gravity;
- b3Vector3FloatData m_gravity_acceleration;
- b3Vector3FloatData m_invInertiaLocal;
- b3Vector3FloatData m_totalForce;
- b3Vector3FloatData m_totalTorque;
- float m_inverseMass;
- float m_linearDamping;
- float m_angularDamping;
- float m_additionalDampingFactor;
- float m_additionalLinearDampingThresholdSqr;
- float m_additionalAngularDampingThresholdSqr;
- float m_additionalAngularDampingFactor;
- float m_linearSleepingThreshold;
- float m_angularSleepingThreshold;
- int m_additionalDamping;
- };
- // -------------------------------------------------- //
- class b3RigidBodyDoubleData
- {
- public:
- b3CollisionObjectDoubleData m_collisionObjectData;
- b3Matrix3x3DoubleData m_invInertiaTensorWorld;
- b3Vector3DoubleData m_linearVelocity;
- b3Vector3DoubleData m_angularVelocity;
- b3Vector3DoubleData m_angularFactor;
- b3Vector3DoubleData m_linearFactor;
- b3Vector3DoubleData m_gravity;
- b3Vector3DoubleData m_gravity_acceleration;
- b3Vector3DoubleData m_invInertiaLocal;
- b3Vector3DoubleData m_totalForce;
- b3Vector3DoubleData m_totalTorque;
- double m_inverseMass;
- double m_linearDamping;
- double m_angularDamping;
- double m_additionalDampingFactor;
- double m_additionalLinearDampingThresholdSqr;
- double m_additionalAngularDampingThresholdSqr;
- double m_additionalAngularDampingFactor;
- double m_linearSleepingThreshold;
- double m_angularSleepingThreshold;
- int m_additionalDamping;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3ConstraintInfo1
- {
- public:
- int m_numConstraintRows;
- int nub;
- };
- // -------------------------------------------------- //
- class b3TypedConstraintData
- {
- public:
- bInvalidHandle *m_rbA;
- bInvalidHandle *m_rbB;
- char *m_name;
- int m_objectType;
- int m_userConstraintType;
- int m_userConstraintId;
- int m_needsFeedback;
- float m_appliedImpulse;
- float m_dbgDrawSize;
- int m_disableCollisionsBetweenLinkedBodies;
- int m_overrideNumSolverIterations;
- float m_breakingImpulseThreshold;
- int m_isEnabled;
- };
- // -------------------------------------------------- //
- class b3Point2PointConstraintFloatData
- {
- public:
- b3TypedConstraintData m_typeConstraintData;
- b3Vector3FloatData m_pivotInA;
- b3Vector3FloatData m_pivotInB;
- };
- // -------------------------------------------------- //
- class b3Point2PointConstraintDoubleData
- {
- public:
- b3TypedConstraintData m_typeConstraintData;
- b3Vector3DoubleData m_pivotInA;
- b3Vector3DoubleData m_pivotInB;
- };
- // -------------------------------------------------- //
- class b3HingeConstraintDoubleData
- {
- public:
- b3TypedConstraintData m_typeConstraintData;
- b3TransformDoubleData m_rbAFrame;
- b3TransformDoubleData m_rbBFrame;
- int m_useReferenceFrameA;
- int m_angularOnly;
- int m_enableAngularMotor;
- float m_motorTargetVelocity;
- float m_maxMotorImpulse;
- float m_lowerLimit;
- float m_upperLimit;
- float m_limitSoftness;
- float m_biasFactor;
- float m_relaxationFactor;
- };
- // -------------------------------------------------- //
- class b3HingeConstraintFloatData
- {
- public:
- b3TypedConstraintData m_typeConstraintData;
- b3TransformFloatData m_rbAFrame;
- b3TransformFloatData m_rbBFrame;
- int m_useReferenceFrameA;
- int m_angularOnly;
- int m_enableAngularMotor;
- float m_motorTargetVelocity;
- float m_maxMotorImpulse;
- float m_lowerLimit;
- float m_upperLimit;
- float m_limitSoftness;
- float m_biasFactor;
- float m_relaxationFactor;
- };
- // -------------------------------------------------- //
- class b3ConeTwistConstraintData
- {
- public:
- b3TypedConstraintData m_typeConstraintData;
- b3TransformFloatData m_rbAFrame;
- b3TransformFloatData m_rbBFrame;
- float m_swingSpan1;
- float m_swingSpan2;
- float m_twistSpan;
- float m_limitSoftness;
- float m_biasFactor;
- float m_relaxationFactor;
- float m_damping;
- char m_pad[4];
- };
- // -------------------------------------------------- //
- class b3Generic6DofConstraintData
- {
- public:
- b3TypedConstraintData m_typeConstraintData;
- b3TransformFloatData m_rbAFrame;
- b3TransformFloatData m_rbBFrame;
- b3Vector3FloatData m_linearUpperLimit;
- b3Vector3FloatData m_linearLowerLimit;
- b3Vector3FloatData m_angularUpperLimit;
- b3Vector3FloatData m_angularLowerLimit;
- int m_useLinearReferenceFrameA;
- int m_useOffsetForConstraintFrame;
- };
- // -------------------------------------------------- //
- class b3Generic6DofSpringConstraintData
- {
- public:
- b3Generic6DofConstraintData m_6dofData;
- int m_springEnabled[6];
- float m_equilibriumPoint[6];
- float m_springStiffness[6];
- float m_springDamping[6];
- };
- // -------------------------------------------------- //
- class b3SliderConstraintData
- {
- public:
- b3TypedConstraintData m_typeConstraintData;
- b3TransformFloatData m_rbAFrame;
- b3TransformFloatData m_rbBFrame;
- float m_linearUpperLimit;
- float m_linearLowerLimit;
- float m_angularUpperLimit;
- float m_angularLowerLimit;
- int m_useLinearReferenceFrameA;
- int m_useOffsetForConstraintFrame;
- };
- // -------------------------------------------------- //
- class b3ContactSolverInfoDoubleData
- {
- public:
- double m_tau;
- double m_damping;
- double m_friction;
- double m_timeStep;
- double m_restitution;
- double m_maxErrorReduction;
- double m_sor;
- double m_erp;
- double m_erp2;
- double m_globalCfm;
- double m_splitImpulsePenetrationThreshold;
- double m_splitImpulseTurnErp;
- double m_linearSlop;
- double m_warmstartingFactor;
- double m_maxGyroscopicForce;
- double m_singleAxisRollingFrictionThreshold;
- int m_numIterations;
- int m_solverMode;
- int m_restingContactRestitutionThreshold;
- int m_minimumSolverBatchSize;
- int m_splitImpulse;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3ContactSolverInfoFloatData
- {
- public:
- float m_tau;
- float m_damping;
- float m_friction;
- float m_timeStep;
- float m_restitution;
- float m_maxErrorReduction;
- float m_sor;
- float m_erp;
- float m_erp2;
- float m_globalCfm;
- float m_splitImpulsePenetrationThreshold;
- float m_splitImpulseTurnErp;
- float m_linearSlop;
- float m_warmstartingFactor;
- float m_maxGyroscopicForce;
- float m_singleAxisRollingFrictionThreshold;
- int m_numIterations;
- int m_solverMode;
- int m_restingContactRestitutionThreshold;
- int m_minimumSolverBatchSize;
- int m_splitImpulse;
- char m_padding[4];
- };
- // -------------------------------------------------- //
- class b3DynamicsWorldDoubleData
- {
- public:
- b3ContactSolverInfoDoubleData m_solverInfo;
- b3Vector3DoubleData m_gravity;
- };
- // -------------------------------------------------- //
- class b3DynamicsWorldFloatData
- {
- public:
- b3ContactSolverInfoFloatData m_solverInfo;
- b3Vector3FloatData m_gravity;
- };
- // -------------------------------------------------- //
- class SoftBodyMaterialData
- {
- public:
- float m_linearStiffness;
- float m_angularStiffness;
- float m_volumeStiffness;
- int m_flags;
- };
- // -------------------------------------------------- //
- class SoftBodyNodeData
- {
- public:
- SoftBodyMaterialData *m_material;
- b3Vector3FloatData m_position;
- b3Vector3FloatData m_previousPosition;
- b3Vector3FloatData m_velocity;
- b3Vector3FloatData m_accumulatedForce;
- b3Vector3FloatData m_normal;
- float m_inverseMass;
- float m_area;
- int m_attach;
- int m_pad;
- };
- // -------------------------------------------------- //
- class SoftBodyLinkData
- {
- public:
- SoftBodyMaterialData *m_material;
- int m_nodeIndices[2];
- float m_restLength;
- int m_bbending;
- };
- // -------------------------------------------------- //
- class SoftBodyFaceData
- {
- public:
- b3Vector3FloatData m_normal;
- SoftBodyMaterialData *m_material;
- int m_nodeIndices[3];
- float m_restArea;
- };
- // -------------------------------------------------- //
- class SoftBodyTetraData
- {
- public:
- b3Vector3FloatData m_c0[4];
- SoftBodyMaterialData *m_material;
- int m_nodeIndices[4];
- float m_restVolume;
- float m_c1;
- float m_c2;
- int m_pad;
- };
- // -------------------------------------------------- //
- class SoftRigidAnchorData
- {
- public:
- b3Matrix3x3FloatData m_c0;
- b3Vector3FloatData m_c1;
- b3Vector3FloatData m_localFrame;
- bInvalidHandle *m_rigidBody;
- int m_nodeIndex;
- float m_c2;
- };
- // -------------------------------------------------- //
- class SoftBodyConfigData
- {
- public:
- int m_aeroModel;
- float m_baumgarte;
- float m_damping;
- float m_drag;
- float m_lift;
- float m_pressure;
- float m_volume;
- float m_dynamicFriction;
- float m_poseMatch;
- float m_rigidContactHardness;
- float m_kineticContactHardness;
- float m_softContactHardness;
- float m_anchorHardness;
- float m_softRigidClusterHardness;
- float m_softKineticClusterHardness;
- float m_softSoftClusterHardness;
- float m_softRigidClusterImpulseSplit;
- float m_softKineticClusterImpulseSplit;
- float m_softSoftClusterImpulseSplit;
- float m_maxVolume;
- float m_timeScale;
- int m_velocityIterations;
- int m_positionIterations;
- int m_driftIterations;
- int m_clusterIterations;
- int m_collisionFlags;
- };
- // -------------------------------------------------- //
- class SoftBodyPoseData
- {
- public:
- b3Matrix3x3FloatData m_rot;
- b3Matrix3x3FloatData m_scale;
- b3Matrix3x3FloatData m_aqq;
- b3Vector3FloatData m_com;
- b3Vector3FloatData *m_positions;
- float *m_weights;
- int m_numPositions;
- int m_numWeigts;
- int m_bvolume;
- int m_bframe;
- float m_restVolume;
- int m_pad;
- };
- // -------------------------------------------------- //
- class SoftBodyClusterData
- {
- public:
- b3TransformFloatData m_framexform;
- b3Matrix3x3FloatData m_locii;
- b3Matrix3x3FloatData m_invwi;
- b3Vector3FloatData m_com;
- b3Vector3FloatData m_vimpulses[2];
- b3Vector3FloatData m_dimpulses[2];
- b3Vector3FloatData m_lv;
- b3Vector3FloatData m_av;
- b3Vector3FloatData *m_framerefs;
- int *m_nodeIndices;
- float *m_masses;
- int m_numFrameRefs;
- int m_numNodes;
- int m_numMasses;
- float m_idmass;
- float m_imass;
- int m_nvimpulses;
- int m_ndimpulses;
- float m_ndamping;
- float m_ldamping;
- float m_adamping;
- float m_matching;
- float m_maxSelfCollisionImpulse;
- float m_selfCollisionImpulseFactor;
- int m_containsAnchor;
- int m_collide;
- int m_clusterIndex;
- };
- // -------------------------------------------------- //
- class b3SoftBodyJointData
- {
- public:
- void *m_bodyA;
- void *m_bodyB;
- b3Vector3FloatData m_refs[2];
- float m_cfm;
- float m_erp;
- float m_split;
- int m_delete;
- b3Vector3FloatData m_relPosition[2];
- int m_bodyAtype;
- int m_bodyBtype;
- int m_jointType;
- int m_pad;
- };
- // -------------------------------------------------- //
- class b3SoftBodyFloatData
- {
- public:
- b3CollisionObjectFloatData m_collisionObjectData;
- SoftBodyPoseData *m_pose;
- SoftBodyMaterialData **m_materials;
- SoftBodyNodeData *m_nodes;
- SoftBodyLinkData *m_links;
- SoftBodyFaceData *m_faces;
- SoftBodyTetraData *m_tetrahedra;
- SoftRigidAnchorData *m_anchors;
- SoftBodyClusterData *m_clusters;
- b3SoftBodyJointData *m_joints;
- int m_numMaterials;
- int m_numNodes;
- int m_numLinks;
- int m_numFaces;
- int m_numTetrahedra;
- int m_numAnchors;
- int m_numClusters;
- int m_numJoints;
- SoftBodyConfigData m_config;
- };
- } // namespace Bullet3SerializeBullet2
- #endif //__BULLET2_H__
|