9 #ifndef Navigation_PointOfInterest_H
10 #define Navigation_PointOfInterest_H
35 m_startPosition.
Set(0.0f, 0.0f, 0.0f);
55 Vec3f m_startPosition;
85 virtual const char* GetTypeName()
const {
return "PointOfInterest"; }
124 void SetPosition(
const Vec3f& position);
129 void* GetPointOfInterestData()
const;
130 KyUInt32 GetPointOfInterestType()
const;
134 virtual void DoSendVisualDebug(
VisualDebugServer& server, VisualDebugSendChangeEvent changeEvent);
139 void UpdateSpatialization();
143 Ptr<SpatializedPoint> m_spatializedPoint;
149 KY_INLINE PointOfInterest::PointOfInterest() : m_poiData(
KY_NULL) , m_poiType(PointOfInterestType_Undefined) {}
150 KY_INLINE PointOfInterest::PointOfInterest(
const PointOfInterestInitConfig& initConfig)
151 : m_poiData(
KY_NULL) , m_poiType(PointOfInterestType_Undefined)
156 KY_INLINE PointOfInterest::~PointOfInterest() {
Clear(); }
158 KY_INLINE
void PointOfInterest::SetPosition(
const Vec3f& position) { m_position = position; }
160 KY_INLINE
const SpatializedPoint& PointOfInterest::GetSpatializedPoint()
const {
return *m_spatializedPoint; }
161 KY_INLINE
void* PointOfInterest::GetPointOfInterestData()
const {
return m_poiData; }
162 KY_INLINE
KyUInt32 PointOfInterest::GetPointOfInterestType()
const {
return m_poiType; }
164 KY_INLINE
void PointOfInterest::UpdateSpatialization() { m_spatializedPoint->UpdateSpatialization(m_position);
ForceSendAllVisualDebug(); }
168 #endif // Navigation_PointOfInterest_H
void ForceSendAllVisualDebug()
Call this when something impacts all your visual debug data.
Ptr< DatabaseBinding > m_databaseBinding
Defines the Databases in which the CylinderObstacle will be spatialized.
Definition: pointofinterest.h:61
void Set(KyFloat32 _x, KyFloat32 _y, KyFloat32 _z)
Sets the coordinates.
Definition: vec3f.h:52
void SetDefaults()
Sets all members to their default value.
Definition: pointofinterest.h:38
#define KY_NULL
Null value.
Definition: types.h:247
KyFloat32 m_height
PointOfInterest might have an height.
Definition: pointofinterest.h:70
static const KyUInt32 PointOfInterestType_FirstClient
The first customizable PointOfInterest type value.
Definition: pointofinterest.h:21
void Clear()
Prepares this instance to destruction and / or reuse: sets all members to their default values and cl...
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
This class is a runtime container for Gameware Navigation WorldElements such as NavData, Bots, BoxObstacles, TagVolumes...
Definition: world.h:54
World * m_world
Mandatory: you must provide a World when calling CylinderObstacle::Init.
Definition: pointofinterest.h:56
Class used to provide PointOfInterest initialization parameters.
Definition: pointofinterest.h:25
WorldElementType
Enumerates the WorldElement types.
Definition: worldelementtype.h:15
Base internal class used to represent elements that can be added to a World, such as instances of Dat...
Definition: worldelement.h:45
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
The VisualDebugServer manages the sending of data to clients.
Definition: visualdebugserver.h:254
static const KyUInt32 PointOfInterestType_Undefined
The default value of PointOfInterest type.
Definition: pointofinterest.h:20
void RemoveFromWorld()
Removes the PointOfInterest from the World.
void AddToWorld()
Adds the PointOfInterest to the World.
PointOfInterest is a tagged position spatialized into the NavMesh.
Definition: pointofinterest.h:86
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
void Init(const PointOfInterestInitConfig &initConfig)
Sets m_world and allocates memory depending on m_databaseBinding.
Internal class used for point spatialization in NavData.
Definition: spatializedpoint.h:171
KyUInt32 m_poiType
Defines the type of the PointOfInterest.
Definition: pointofinterest.h:75
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43
This class defines a three-dimensional vector whose coordinates are stored using floating-point numbe...
Definition: vec3f.h:23