public abstract

Inheritance Graph

graph BT
	PhysicWorld
	PhysicWorld --> ReferenceCounter
	BtPhysicWorld --> PhysicWorld
	click PhysicWorld "classMinSG_1_1Physics_1_1PhysicWorld"
	click ReferenceCounter "classUtil_1_1ReferenceCounter"
	click BtPhysicWorld "classMinSG_1_1Physics_1_1BtPhysicWorld"

Description

Public Static Attributes

   
   
const Util::StringIdentifier SHAPE_AABB
   
const Util::StringIdentifier SHAPE_SPHERE
   
const Util::StringIdentifier SHAPE_COMPOSED

Protected Attributes

   
   
Util::LambdaFactory < CollisionShape *, Util::StringIdentifier > shapeFactory

Public Static Functions

   
   
PhysicWorld * createBulletWorld()

Public Functions

   
   
  PhysicWorld()
create a new physic world
   
  ~PhysicWorld()
   
void cleanupWorld()
   
void stepSimulation(float time)
   
void renderPhysicWorld( Rendering::RenderingContext & void)
   
void initNodeObserver( Node * rootNode)
   
void createGroundPlane(const Geometry::Plane & plane)
   
void setGravity(const Geometry::Vec3 & gravity)
   
const Geometry::Vec3 getGravity()
   
void markAsKinematicObject( Node & node, bool b)
   
void removeNode( Node * node)
   
void setMass( Node & node, float mass)
   
void setShape( Node & node, Util::Reference < CollisionShape > shape)
   
void setFriction( Node & node, float fric)
   
void setRollingFriction( Node & node, float rollfric)
   
void setLinearDamping( Node & node, float void)
   
void setAngularDamping( Node & node, float void)
   
void updateLocalSurfaceVelocity( Node * node, const Geometry::Vec3 & localForce)
   
void setLinearVelocity( Node & node, const Geometry::Vec3 & void)
   
void setAngularVelocity( Node & node, const Geometry::Vec3 & void)
template< typename… Args >  
Util::Reference < CollisionShape > createShape(const Util::StringIdentifier & id, Args… args)
   
Util::Reference < CollisionShape > createShape_AABB(const Geometry::Box & aabb)
   
Util::Reference < CollisionShape > createShape_Sphere(const Geometry::Sphere & s)
   
Util::Reference < CollisionShape > createShape_Composed(const std::vector< std::pair< Util::Reference < CollisionShape >, Geometry::SRT » & shapes)
   
void addConstraint_p2p( Node & nodeA, const Geometry::Vec3 & pivotLocalA, Node & nodeB, const Geometry::Vec3 & pivotLocalB)
   
void addConstraint_hinge( Node & nodeA, const Geometry::Vec3 & pivotLocalA, const Geometry::Vec3 & dirLocalA, Node & nodeB, const Geometry::Vec3 & pivotLocalB, const Geometry::Vec3 & dirLocalB)
   
void removeConstraints( Node & node)
   
void removeConstraintBetweenNodes( Node & nodeA, Node & nodeB)

Documentation

variable
MinSG::Physics::PhysicWorld::SHAPE_AABB

public static
 
 
const Util::StringIdentifier SHAPE_AABB

Defined in MinSG/Ext/Physics/PhysicWorld.h:80


variable
MinSG::Physics::PhysicWorld::SHAPE_SPHERE

public static
 
 
const Util::StringIdentifier SHAPE_SPHERE

Defined in MinSG/Ext/Physics/PhysicWorld.h:81


variable
MinSG::Physics::PhysicWorld::SHAPE_COMPOSED

public static
 
 
const Util::StringIdentifier SHAPE_COMPOSED

Defined in MinSG/Ext/Physics/PhysicWorld.h:82


variable
MinSG::Physics::PhysicWorld::shapeFactory

protected
 
 
Util::LambdaFactory < CollisionShape *, Util::StringIdentifier > shapeFactory

Defined in MinSG/Ext/Physics/PhysicWorld.h:84


function
MinSG::Physics::PhysicWorld::createBulletWorld

public static
   
   
PhysicWorld * createBulletWorld( )

Defined in MinSG/Ext/Physics/PhysicWorld.h:47


function
MinSG::Physics::PhysicWorld::PhysicWorld

public
   
   
PhysicWorld( )

create a new physic world

Defined in MinSG/Ext/Physics/PhysicWorld.h:50


function
MinSG::Physics::PhysicWorld::~PhysicWorld

public inline virtual
   
   
~PhysicWorld( )

Defined in MinSG/Ext/Physics/PhysicWorld.h:51


function
MinSG::Physics::PhysicWorld::cleanupWorld

public virtual
   
   
void cleanupWorld( )

Defined in MinSG/Ext/Physics/PhysicWorld.h:54


function
MinSG::Physics::PhysicWorld::stepSimulation

public virtual
     
     
void stepSimulation( float time )

Defined in MinSG/Ext/Physics/PhysicWorld.h:55


function
MinSG::Physics::PhysicWorld::renderPhysicWorld

public virtual
     
     
void renderPhysicWorld( Rendering::RenderingContext & void )

Defined in MinSG/Ext/Physics/PhysicWorld.h:56


function
MinSG::Physics::PhysicWorld::initNodeObserver

public virtual
     
     
void initNodeObserver( Node * rootNode )

Defined in MinSG/Ext/Physics/PhysicWorld.h:59


function
MinSG::Physics::PhysicWorld::createGroundPlane

public virtual
     
     
void createGroundPlane( const Geometry::Plane & plane )

Defined in MinSG/Ext/Physics/PhysicWorld.h:60


function
MinSG::Physics::PhysicWorld::setGravity

public virtual
     
     
void setGravity( const Geometry::Vec3 & gravity )

Defined in MinSG/Ext/Physics/PhysicWorld.h:61


function
MinSG::Physics::PhysicWorld::getGravity

public virtual
   
   
const Geometry::Vec3 getGravity( )

Defined in MinSG/Ext/Physics/PhysicWorld.h:62


function
MinSG::Physics::PhysicWorld::markAsKinematicObject

public virtual
     
     
void markAsKinematicObject( Node & node,
  bool b
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:65


function
MinSG::Physics::PhysicWorld::removeNode

public virtual
     
     
void removeNode( Node * node )

Defined in MinSG/Ext/Physics/PhysicWorld.h:66


function
MinSG::Physics::PhysicWorld::setMass

public virtual
     
     
void setMass( Node & node,
  float mass
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:67


function
MinSG::Physics::PhysicWorld::setShape

public virtual
     
     
void setShape( Node & node,
  Util::Reference < CollisionShape > shape
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:68


function
MinSG::Physics::PhysicWorld::setFriction

public virtual
     
     
void setFriction( Node & node,
  float fric
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:69


function
MinSG::Physics::PhysicWorld::setRollingFriction

public virtual
     
     
void setRollingFriction( Node & node,
  float rollfric
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:70


function
MinSG::Physics::PhysicWorld::setLinearDamping

public virtual
     
     
void setLinearDamping( Node & node,
  float void
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:71


function
MinSG::Physics::PhysicWorld::setAngularDamping

public virtual
     
     
void setAngularDamping( Node & node,
  float void
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:72


function
MinSG::Physics::PhysicWorld::updateLocalSurfaceVelocity

public virtual
     
     
void updateLocalSurfaceVelocity( Node * node,
  const Geometry::Vec3 & localForce
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:73


function
MinSG::Physics::PhysicWorld::setLinearVelocity

public virtual
     
     
void setLinearVelocity( Node & node,
  const Geometry::Vec3 & void
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:76


function
MinSG::Physics::PhysicWorld::setAngularVelocity

public virtual
     
     
void setAngularVelocity( Node & node,
  const Geometry::Vec3 & void
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:77


function
MinSG::Physics::PhysicWorld::createShape

public inline
     
template< typename… Args >    
Util::Reference < CollisionShape > createShape( const Util::StringIdentifier & id,
  Args… args
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:87


function
MinSG::Physics::PhysicWorld::createShape_AABB

public
     
     
Util::Reference < CollisionShape > createShape_AABB( const Geometry::Box & aabb )

Defined in MinSG/Ext/Physics/PhysicWorld.h:89


function
MinSG::Physics::PhysicWorld::createShape_Sphere

public
     
     
Util::Reference < CollisionShape > createShape_Sphere( const Geometry::Sphere & s )

Defined in MinSG/Ext/Physics/PhysicWorld.h:90


function
MinSG::Physics::PhysicWorld::createShape_Composed

public
     
     
Util::Reference < CollisionShape > createShape_Composed( const std::vector< std::pair< Util::Reference < CollisionShape >, Geometry::SRT » & shapes )

Defined in MinSG/Ext/Physics/PhysicWorld.h:91


function
MinSG::Physics::PhysicWorld::addConstraint_p2p

public virtual
     
     
void addConstraint_p2p( Node & nodeA,
  const Geometry::Vec3 & pivotLocalA,
  Node & nodeB,
  const Geometry::Vec3 & pivotLocalB
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:95


function
MinSG::Physics::PhysicWorld::addConstraint_hinge

public virtual
     
     
void addConstraint_hinge( Node & nodeA,
  const Geometry::Vec3 & pivotLocalA,
  const Geometry::Vec3 & dirLocalA,
  Node & nodeB,
  const Geometry::Vec3 & pivotLocalB,
  const Geometry::Vec3 & dirLocalB
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:96


function
MinSG::Physics::PhysicWorld::removeConstraints

public virtual
     
     
void removeConstraints( Node & node )

Defined in MinSG/Ext/Physics/PhysicWorld.h:97


function
MinSG::Physics::PhysicWorld::removeConstraintBetweenNodes

public virtual
     
     
void removeConstraintBetweenNodes( Node & nodeA,
  Node & nodeB
)    

Defined in MinSG/Ext/Physics/PhysicWorld.h:98