#include <u_move_container.h>
Inheritance diagram for NLPACS::UMoveContainer:
Nevrax France
Definition at line 60 of file u_move_container.h.
Public Member Functions | |
Manage primitives. | |
virtual UMovePrimitive * | addCollisionablePrimitive (uint8 firstWorldImage, uint8 numWorldImage, const UMovePrimitive *copyFrom=NULL)=0 |
virtual void | addCollisionnablePrimitiveBlock (UPrimitiveBlock *pb, uint8 firstWorldImage, uint8 numWorldImage, std::vector< UMovePrimitive * > *primitives, float orientation, const NLMISC::CVector &position, bool dontSnapToGround=false, const NLMISC::CVector &scale=NLMISC::CVector(1.0f, 1.0f, 1.0f))=0 |
virtual UMovePrimitive * | addNonCollisionablePrimitive (const UMovePrimitive *copyFrom=NULL)=0 |
virtual void | getPrimitives (std::vector< const UMovePrimitive * > &dest) const=0 |
Get all the primitives in the container. | |
virtual bool | loadCollisionablePrimitiveBlock (const char *filename, uint8 firstWorldImage, uint8 numWorldImage, std::vector< UMovePrimitive * > *primitives, float orientation, const NLMISC::CVector &position, bool dontSnapToGround=false)=0 |
virtual void | removePrimitive (UMovePrimitive *primitive)=0 |
World image management. | |
virtual void | duplicateWorldImage (uint8 source, uint8 dest)=0 |
virtual void | setAsStatic (uint8 worldImage)=0 |
Primitive evaluation. | |
virtual void | evalCollision (double deltaTime, uint8 worldImage)=0 |
virtual bool | evalNCPrimitiveCollision (double deltaTime, UMovePrimitive *primitive, uint8 worldImage)=0 |
virtual bool | testMove (UMovePrimitive *primitive, const NLMISC::CVectorD &speed, double deltaTime, uint8 worldImage, NLMISC::CVectorD *contactNormal)=0 |
Triggers info. | |
virtual uint | getNumTriggerInfo () const=0 |
Get number of trigger informations. | |
virtual const UTriggerInfo & | getTriggerInfo (uint id) const=0 |
Get the n-th trigger informations. |
|
Add a collisionable primitive in the container. Return the pointer on the primitive. This primitive will generate collisions when the system evaluate other primitives against. You must specify the ids of each world image where the primitive can be inserted. Thoses ids are consecutives. If you choose 5 as first id and 3 as id count, this primitive could be inserted in the world image #5, #6 and #7. This primtive should be inserted in a world image before use. See UMovePrimitive::insertInWorldImage.
Implemented in NLPACS::CMoveContainer. |
|
The same as loadCollisionablePrimitiveBlock, but the primitive block is provided by the caller Implemented in NLPACS::CMoveContainer. |
|
Add a noncollisionable primitive in the container. Return the pointer on the primitive. This primitive won't generate collisions when the system evaluate other primitives against. This primitive can't be inserted in a world image.
Implemented in NLPACS::CMoveContainer. |
|
|
|
|
|
|
|
Duplicate a world image in another. All primitive will be removed from the destination world image. Then, the source world image will be copied in the destination world image. Warning, only primitives from the source that have been decalared as using the destintation world image will be copied. The source world image remain the same.
Implemented in NLPACS::CMoveContainer. |
|
Evaluation of a worldImage of the collision system. This method will evaluate the move of each modified collisionable primitives inserted in the world image. The method test first collisions against the terrai, then test collisions against primitives inserted in the world images declared as static, then test the collision against the primitives inserted in the world image to evaluate.
Implemented in NLPACS::CMoveContainer. |
|
Evaluation of a single non collisionable primitive. The method test first collisions against the terrai, then test collisions against primitives inserted in the world images declared as static, then test the collision against the primitives inserted in the world image to evaluate.
Implemented in NLPACS::CMoveContainer. |
|
Get number of trigger informations.
Implemented in NLPACS::CMoveContainer. |
|
Get a pacs position and an orientation from a matrix |
|
Get all the primitives in the container.
Implemented in NLPACS::CMoveContainer. |
|
Get the n-th trigger informations.
Implemented in NLPACS::CMoveContainer. |
|
Load a PACS primitive block. (*.pacs_prim) Add a set of collisionable primitive in the container. If sucess, fill an array with primitives's pointers. The primitive are inserted in the requested world image of the container. Then a setGlobalPosition is done to place the primitives in the world image. The world images are not evaluated. You must specify the ids of each world image where the primitives can be inserted. Thoses ids are consecutives. If you choose 5 as first id and 3 as id count, those primitives could be inserted in the world image #5, #6 and #7. Those primtives should be inserted in a world image before use. See UMovePrimitive::insertInWorldImage. Return false if the world image numbers are not present in the move container. Can raise unhandled NLMISC::Exception if trouble during serialisation.
Implemented in NLPACS::CMoveContainer. |
|
Remove a primitive from the container.
Implemented in NLPACS::CMoveContainer. |
|
Set world image as static world image. This method set this world image as static. It means that primitives inserted there don't move. Each primitive evaluation methods will first test all the primitives in the world images declared as static. Then, the evalutation test the primtive in the asked worldImage.
Implemented in NLPACS::CMoveContainer. |
|
Test the move of a primitive in a specific world image. This method will test the move of each modified primitives inserted in the world image. The method will test first collisions against primitives inserted in the world images declared as static, then test the collision against the primitives inserted in the world image choosed to test the move of the primitive.
Implemented in NLPACS::CMoveContainer. |