30 m_startPosition.
Set(0.0f, 0.0f, 0.0f);
50 Vec3f m_startPosition;
80 virtual const char* GetTypeName()
const {
return "PointOfInterest"; }
119 void SetPosition(
const Vec3f& position);
124 void* GetPointOfInterestData()
const;
125 KyUInt32 GetPointOfInterestType()
const;
129 virtual void DoSendVisualDebug(VisualDebugServer& server, VisualDebugSendChangeEvent changeEvent);
134 void UpdateSpatialization();
138 Ptr<SpatializedPoint> m_spatializedPoint;
144 KY_INLINE PointOfInterest::PointOfInterest() : m_poiData(nullptr) , m_poiType(PointOfInterestType_Undefined) {}
145 KY_INLINE PointOfInterest::PointOfInterest(
const PointOfInterestInitConfig& initConfig)
146 : m_poiData(nullptr) , m_poiType(PointOfInterestType_Undefined)
151 KY_INLINE PointOfInterest::~PointOfInterest() {
Clear(); }
153 KY_INLINE
void PointOfInterest::SetPosition(
const Vec3f& position) { m_position = position; }
155 KY_INLINE
const SpatializedPoint& PointOfInterest::GetSpatializedPoint()
const {
return *m_spatializedPoint; }
156 KY_INLINE
void* PointOfInterest::GetPointOfInterestData()
const {
return m_poiData; }
157 KY_INLINE
KyUInt32 PointOfInterest::GetPointOfInterestType()
const {
return m_poiType; }
159 KY_INLINE
void PointOfInterest::UpdateSpatialization() { m_spatializedPoint->UpdateSpatialization(m_position);
ForceSendAllVisualDebug(); }
void ForceSendAllVisualDebug()
Call this when something impacts all your visual debug data.
Definition: worldelement.h:123
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
Ptr< DatabaseBinding > m_databaseBinding
Defines the Databases in which the CylinderObstacle will be spatialized.
Definition: pointofinterest.h:47
void Set(KyFloat32 _x, KyFloat32 _y, KyFloat32 _z)
Sets {_x, _y, _z}.
Definition: vec3f.h:29
void SetDefaults()
Sets all members to their default value.
Definition: pointofinterest.h:28
KyFloat32 m_height
PointOfInterest might have an height.
Definition: pointofinterest.h:56
static const KyUInt32 PointOfInterestType_FirstClient
The first customizable PointOfInterest type value.
Definition: pointofinterest.h:16
void Clear()
Prepares this instance to destruction and / or reuse: sets all members to their default values and cl...
Definition: pointofinterest.cpp:36
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
This class is a runtime container for Autodesk Navigation WorldElements such as NavData, Bots, BoxObstacles, TagVolumes...
Definition: world.h:52
World * m_world
Mandatory: you must provide a World when calling CylinderObstacle::Init.
Definition: pointofinterest.h:42
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Class used to provide PointOfInterest initialization parameters.
Definition: pointofinterest.h:20
WorldElementType
Enumerates the WorldElement types.
Definition: worldelementtype.h:13
Base internal class used to represent elements that can be added to a World, such as instances of Dat...
Definition: worldelement.h:41
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
static const KyUInt32 PointOfInterestType_Undefined
The default value of PointOfInterest type.
Definition: pointofinterest.h:15
void RemoveFromWorld()
Removes the PointOfInterest from the World.
Definition: pointofinterest.cpp:61
void AddToWorld()
Adds the PointOfInterest to the World.
Definition: pointofinterest.cpp:48
PointOfInterest is a tagged position spatialized into the NavMesh.
Definition: pointofinterest.h:71
void Init(const PointOfInterestInitConfig &initConfig)
Sets m_world and allocates memory depending on m_databaseBinding.
Definition: pointofinterest.cpp:17
SpatializedPoint is used to the NavTriangle of "object": Bot, CylinderObstacle, BoxObstacle and Point...
Definition: spatializedpoint.h:146
KyUInt32 m_poiType
Defines the type of the PointOfInterest.
Definition: pointofinterest.h:61
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16