#include <u_move_primitive.h>
Inheritance diagram for NLPACS::UMovePrimitive:

This primitive can be a 2d oriented box or a 2d oriented cylinder.
Nevrax France
Definition at line 52 of file u_move_primitive.h.
Public Types | |
| typedef uint32 | TCollisionMask |
| Type of the collision mask. | |
| enum | TReaction { DoNothing = 0x0, Slide = 0x10, Reflexion = 0x20, Stop = 0x40 } |
| Reaction mode. More... | |
| enum | TTrigger { NotATrigger = 0x0, EnterTrigger = 0x100, ExitTrigger = 0x200, OverlapTrigger = 0x400 } |
| Reaction mode. More... | |
| enum | TType { _2DOrientedBox = 0x0, _2DOrientedCylinder = 0x1 } |
| Primitive mode. More... | |
| typedef uint64 | TUserData |
Public Member Functions | |
Access the primitive static parts. | |
| virtual float | getAbsorbtion () const=0 |
| virtual TCollisionMask | getCollisionMask () const=0 |
| virtual float | getHeight () const=0 |
| virtual bool | getObstacle () const=0 |
| virtual TCollisionMask | getOcclusionMask () const=0 |
| virtual TType | getPrimitiveType () const=0 |
| virtual float | getRadius () const=0 |
| virtual TReaction | getReactionType () const=0 |
| virtual void | getSize (float &width, float &depth) const=0 |
| virtual TTrigger | getTriggerType () const=0 |
| virtual bool | isCollisionable () const=0 |
Setup the primitive static parts. | |
| virtual bool | getDontSnapToGround () const=0 |
| Test if snapping to ground is off. | |
| virtual void | setAbsorbtion (float attenuation)=0 |
| virtual void | setCollisionMask (TCollisionMask mask)=0 |
| virtual void | setDontSnapToGround (bool dont)=0 |
| virtual void | setHeight (float height)=0 |
| virtual void | setObstacle (bool obstacle)=0 |
| virtual void | setOcclusionMask (TCollisionMask mask)=0 |
| virtual void | setPrimitiveType (TType type)=0 |
| virtual void | setRadius (float radius)=0 |
| virtual void | setReactionType (TReaction type)=0 |
| virtual void | setSize (float width, float depth)=0 |
| virtual void | setTriggerType (TTrigger type)=0 |
Access the primitive dynamic parts. | |
| virtual NLMISC::CVectorD | getFinalPosition (uint8 worldImage) const=0 |
| virtual void | getGlobalPosition (UGlobalPosition &pos, uint8 worldImage) const=0 |
| virtual double | getOrientation (uint8 worldImage) const=0 |
| virtual const NLMISC::CVectorD & | getSpeed (uint8 worldImage) const=0 |
Move the primitive. | |
| virtual uint8 | getFirstWorldImageV () const=0 |
| virtual uint8 | getNumWorldImageV () const=0 |
| virtual void | insertInWorldImage (uint8 worldImage)=0 |
| virtual void | move (const NLMISC::CVectorD &speed, uint8 worldImage)=0 |
| virtual void | removeFromWorldImage (uint8 worldImage)=0 |
| virtual void | setGlobalPosition (const UGlobalPosition &pos, uint8 worldImage)=0 |
| virtual void | setGlobalPosition (const NLMISC::CVectorD &pos, uint8 worldImage, UGlobalPosition::TType type=UGlobalPosition::Unspecified)=0 |
Setup the primitive dynamic parts. | |
| virtual void | setOrientation (double rot, uint8 worldImage)=0 |
Data Fields | |
| TUserData | UserData |
|
|
Type of the collision mask.
Definition at line 57 of file u_move_primitive.h. Referenced by NLNET::CPacsClient::setCollisionMask(), and NLNET::CPacsClient::setOcclusionMask(). |
|
|
|
Reaction mode.
Definition at line 80 of file u_move_primitive.h.
|
|
|
Reaction mode.
Definition at line 104 of file u_move_primitive.h.
00105 {
00109 NotATrigger=0x0,
00110
00114 EnterTrigger=0x100,
00115
00119 ExitTrigger=0x200,
00120
00124 OverlapTrigger=0x400,
00125 };
|
|
|
Primitive mode.
Definition at line 61 of file u_move_primitive.h.
00062 {
00068 _2DOrientedBox=0x0,
00069
00075 _2DOrientedCylinder=0x1,
00076 };
|
|
|
Set the attenuation of collision for this object. Default value is 1. Should be between 0~1. 0, all the enrgy is attenuated by the collision. 1, all the energy stay in the object. Used only with the flag Reflexion.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the collision mask for this primitive. Default mask is 0xffffffff.
Implemented in NLPACS::CMovePrimitive. |
|
|
Test if snapping to ground is off.
Implemented in NLPACS::CMovePrimitive. |
|
|
Get the position of the move primitive at the end of the movement. This method is slow. Just for initilisation and teleportation. If you modify a noncollisionable primitive with this method, you must evaluate in the world image where you have modify it before modify any other dynamic properties in another world image.
Implemented in NLPACS::CMovePrimitive. |
|
|
Return the first world image Implemented in NLPACS::CMovePrimitive. |
|
||||||||||||
|
Set the global position of the move primitive. This method is fast because you must pass the global position of the primitive. If you modify a noncollisionable primitive with this method, you must evaluate in the world image where you have modify it before modify any other dynamic properties in another world image.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the height. For boxes or cylinder.
Implemented in NLPACS::CMovePrimitive. |
|
|
Return the num of world image Implemented in NLPACS::CMovePrimitive. |
|
|
Set the obstacle flag.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the occlusion mask for this primitive. Default mask is 0xffffffff.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the new orientation of the move primitive. Only for the box primitives. If you modify a noncollisionable primitive with this method, you must evaluate in the world image where you have modify it before modify any other dynamic properties in another world image.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the primitive type.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the cylinder size. Only for cylinder.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the reaction type.
Implemented in NLPACS::CMovePrimitive. |
|
||||||||||||
|
Set the box size. Only for boxes.
Implemented in NLPACS::CMovePrimitive. |
|
|
Get the speed vector for this primitive. the new speed vector. Implemented in NLPACS::CMovePrimitive. |
|
|
Set the trigger type. Default type is NotATrigger.
Implemented in NLPACS::CMovePrimitive. |
|
|
Insert the primitive in a world image of the move container. This primitive must a collisionable primitive.
Implemented in NLPACS::CMovePrimitive. |
|
|
Return true if the primitive is collisionable Implemented in NLPACS::CMovePrimitive. |
|
||||||||||||
|
Move the primitive. This method is fast. Use it to move primitives. If you modify a noncollisionable primitive with this method, you must evaluate in the world image where you have modify it before modify any other dynamic properties in another world image.
Implemented in NLPACS::CMovePrimitive. |
|
|
Remove the primitive from a world image of the move container. This primitive must a collisionable primitive.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the attenuation of collision for this object. Default value is 1. Should be between 0~1. 0, all the enrgy is attenuated by the collision. 1, all the energy stay in the object. Used only with the flag Reflexion.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the collision mask for this primitive. Default mask is 0xffffffff.
Implemented in NLPACS::CMovePrimitive. |
|
|
Tells that the primitive should not be snapped to ground. The default is false Implemented in NLPACS::CMovePrimitive. |
|
||||||||||||
|
Set the global position of the move primitive. This method is fast because you must pass the global position of the primitive. If you modify a noncollisionable primitive with this method, you must evaluate in the world image where you have modify it before modify any other dynamic properties in another world image.
Implemented in NLPACS::CMovePrimitive. |
|
||||||||||||||||
|
Set the global position of the move primitive. Setting the global position can take a long time if you use a UGlobalRetriever. Set the position with this method only the first time or for teleporting. If you modify a noncollisionable primitive with this method, you must evaluate in the world image where you have modify it before modify any other dynamic properties in another world image.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the height. For boxes or cylinder.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the obstacle flag.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the occlusion mask for this primitive. Default mask is 0xffffffff.
Implemented in NLPACS::CMovePrimitive. |
|
||||||||||||
|
Set the new orientation of the move primitive. Only for the box primitives. If you modify a noncollisionable primitive with this method, you must evaluate in the world image where you have modify it before modify any other dynamic properties in another world image.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the primitive type.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the cylinder size. Only for cylinder.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the reaction type.
Implemented in NLPACS::CMovePrimitive. |
|
||||||||||||
|
Set the box size. Only for boxes.
Implemented in NLPACS::CMovePrimitive. |
|
|
Set the trigger type. Default type is NotATrigger.
Implemented in NLPACS::CMovePrimitive. |
|
|
User data. Definition at line 130 of file u_move_primitive.h. |
1.3.6