Atoms Crowd  7.0.0
Atoms::AtomsPhysx Class Reference

Classes

struct  LazyAggregateData
 
struct  LazyRigidBodyConstraintData
 
struct  LazyRigidBodyData
 

Public Types

enum  SolverType { kPGS = 0 , kTGS }
 

Public Member Functions

bool isValid () const
 
void init ()
 
void release ()
 
void initScene ()
 
void releaseScene ()
 
void updateKinematics (float stepSize)
 
void updateDynamicPool (float stepSize)
 
void updateKinematicAgents (float stepSize)
 
void updatedForces (float stepSize)
 
void clearForces ()
 
void clearFeedbacks ()
 
void storeTransforms ()
 
void fetchStates ()
 
void storeStates ()
 
void updateConstraints ()
 
void createLazyData ()
 
void createDynamicConstraintData ()
 
void updateForceCollisionThreshold ()
 
void stepPhysics ()
 
const std::string & pvdHost () const
 
void setPvdHost (const std::string &host)
 
int pvdPort () const
 
void setPvdPort (int value)
 
unsigned int pvdTimeout () const
 
void setPvdTimeout (unsigned int value)
 
double fps () const
 
void setFps (double value)
 
unsigned int subSamples () const
 
void setSubSamples (unsigned int value)
 
double scale () const
 
void setScale (double value)
 
const AtomsCore::Vector3gravity () const
 
void setGravity (const AtomsCore::Vector3 &value)
 
void enablePvd (bool value)
 
bool isPvdEnabled () const
 
bool isInitialized () const
 
unsigned int threadsNumber () const
 
void setThreadsNumber (unsigned int value)
 
void setFrictionOffsetThreshold (double value)
 
void setCcdMaxSeparation (double value)
 
void setSolverOffsetSlop (double value)
 
void setBounceThresholdVelocity (double value)
 
short solverType () const
 
void setSolverType (short value)
 
void setKinematicKinematicFilter (bool value)
 
void setStaticKinematicFilter (bool value)
 
bool useGpu () const
 
void setUseGpu (bool value)
 
bool enableStabilization () const
 
void setEnableStabilization (bool value)
 
bool enableEnhancedDeterminism () const
 
void setEnableEnhancedDeterminism (bool value)
 
bool enableFrictionEveryIteration () const
 
void setEnableFrictionEveryIteration (bool value)
 
bool enablePCM () const
 
void setEnablePCM (bool value)
 
bool enableAdaptiveForce () const
 
void setEnableAdaptiveForce (bool value)
 
bool enableCCD () const
 
void setEnableCCD (bool value)
 
double elapsedTime () const
 
RigidBodyaddRigidBody (const std::string &name, const RigidBodyAttributes &attributes, AtomsUtils::Mesh *mesh=nullptr, bool lazyCreation=false)
 
void rigidBodyPose (const std::string &name, AtomsCore::Vector3f &pos, AtomsCore::Quaternionf &rot) const
 
void rigidBodyPose (size_t id, AtomsCore::Vector3f &pos, AtomsCore::Quaternionf &rot) const
 
std::unordered_map< size_t, RigidBody > & rigidBodies ()
 
const RigidBodyrigidBody (size_t id) const
 
const std::unordered_map< size_t, RigidBody > & rigidBodies () const
 
const std::unordered_map< size_t, std::string > & rigidBodyNames () const
 
const std::map< std::string, size_t > & rigidBodyNameIds () const
 
std::map< std::string, RigidBodyConstraint > & constraints ()
 
const std::map< std::string, RigidBodyConstraint > & constraints () const
 
const std::map< std::pair< size_t, size_t >, std::string > & constraintNames () const
 
physx::PxRigidActor * createPhysicObject (size_t id, const RigidBodyAttributes &attributes, physx::PxGeometry *geo, const physx::PxTransform *shapeOffset)
 
physx::PxRigidActor * createRigidBody (size_t id, const RigidBodyAttributes &attributes, AtomsUtils::Mesh *mesh=nullptr)
 
void setupDynamicAttributes (physx::PxRigidDynamic *rigid, const RigidBodyAttributes &attributes) const
 
void setupKinematicAttributes (physx::PxRigidDynamic *rigid, const RigidBodyAttributes &attributes) const
 
void updateRigidBodyMeshPoints (RigidBody &rb, const std::vector< AtomsCore::Vector3f > &newPoints)
 
RigidBodyConstraintaddRigidBodyConstraint (const std::string &name, const RigidBodyConstraintAttributes &attributes, int first, int second, const AtomsCore::Matrixf &matrix)
 
RigidBodyConstraintaddRigidBodyConstraint (const std::string &name, const RigidBodyConstraintAttributes &attributes, Atoms::RigidBody *firstRb, const AtomsCore::Matrixf &fMatrix, Atoms::RigidBody *secondRb, const AtomsCore::Matrixf &sMatrix, bool lazyCreation=false)
 
RigidBodyConstraintaddRigidBodyDynamicConstraint (const std::string &name, const RigidBodyConstraintAttributes &attributes, Atoms::RigidBody *firstRb, const AtomsCore::Matrixf &fMatrix, Atoms::RigidBody *secondRb, const AtomsCore::Matrixf &sMatrix)
 
physx::PxJoint * createRigidBodyConstraint (const RigidBodyConstraintAttributes &attributes, physx::PxRigidActor *first, physx::PxTransform &firstMatrix, physx::PxRigidActor *second, physx::PxTransform &secondMatrix)
 
void addAggregates (const std::unordered_map< int, std::vector< int >> &aggregates, const std::unordered_map< int, bool > &aggregateEnableCollisions, size_t id=0, bool lazyCreation=false)
 
void removeRigidBody (size_t id)
 
void removeConstraint (const std::string &name)
 

The documentation for this class was generated from the following file: