#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. |