Kaim::ClientInputConsumer Class Reference
#include <clientinputconsumer.h>
The ClientInputConsumer class is one of the primary components of the NavData generation system.
Its role is to accept data that describes your terrain from within Kaim::GeneratorInputProducer::Produce(const GeneratorSector& sector, ClientInputConsumer& consumer).
This data is then used as input for the NavData generation process. This data includes:
- The triangles that make up the terrain mesh, along with an optional color for each that defines its
- material: the type of terrain it represents.
- Optional 3D Tag volumes that tag all triangles within their volumes with a particular NavTag.
- Optional seed points that identify walkable areas.
|
| KyResult | ConsumeTriangle (const Vec3f &A, const Vec3f &B, const Vec3f &C) |
| |
| KyResult | ConsumeTriangle (const Vec3f &client_A, const Vec3f &client_B, const Vec3f &client_C, const CoordSystem &clientCoordSystem) |
| |
| KyResult | ConsumeTriangle (const Vec3f &A, const Vec3f &B, const Vec3f &C, const DynamicNavTag &navTag) |
| |
| KyResult | ConsumeTriangle (const Vec3f &client_A, const Vec3f &client_B, const Vec3f &client_C, const DynamicNavTag &navTag, const CoordSystem &clientCoordSystem) |
| |
| KyResult | ConsumeTagVolume (const ClientInputTagVolume &inputTagVolume) |
| |
| KyResult | ConsumeSeedPoint (const Vec3f &position) |
| |
| KyResult | ConsumeSeedPointInClientCoordinates (const Vec3f &client_position, const CoordSystem &clientCoordSystem) |
| |
|
KyResult | ConsumeHeightField (Ptr< HeightField > heightfield) |
| |
|
KyResult | ConsumeHeightFieldFile (const String &heightfieldFileName) |
| |
|
KyResult | ConsumeIndexedMesh (Ptr< IndexedMesh > indexedMesh) |
| |
|
KyResult | ConsumeIndexedMeshFile (const String &indexedMeshFileName) |
| |
| ClientInputConsumerStatistics & | GetStats () |
| |
|
VisualColor | GetNavTagColor (const DynamicNavTag &dynamicNavTag) const |
| |
| KyResult Kaim::ClientInputConsumer::ConsumeSeedPoint |
( |
const Vec3f & |
position | ) |
|
Provides a seed point that identifies a walkable area of the terrain.
If you provide a seed point, any areas of NavData that are not reachable from that seed point are automatically discarded during a post-processing phase. You can provide as many seed points as necessary for each sector.
All coordinates and altitudes must be expressed in Gameware Navigation coordinate system.
- Parameters
-
| position | The position of the seed point |
| KyResult Kaim::ClientInputConsumer::ConsumeSeedPointInClientCoordinates |
( |
const Vec3f & |
client_position, |
|
|
const CoordSystem & |
clientCoordSystem |
|
) |
| |
|
inline |
Identical to previous function but uses vertices in client coordinate system that must be specified in order to convert them in Navigation CoordSystem.
A, B and C are in Gameware Navigation coordinate system. m_defaultNavTag is used.
A, B and Care in client coordinate system. m_defaultNavTag is used.
| KyResult Kaim::ClientInputConsumer::ConsumeTriangle |
( |
const Vec3f & |
A, |
|
|
const Vec3f & |
B, |
|
|
const Vec3f & |
C, |
|
|
const DynamicNavTag & |
navTag |
|
) |
| |
A, B and C are in Gameware Navigation coordinate system.
| KyResult Kaim::ClientInputConsumer::ConsumeTriangle |
( |
const Vec3f & |
client_A, |
|
|
const Vec3f & |
client_B, |
|
|
const Vec3f & |
client_C, |
|
|
const DynamicNavTag & |
navTag, |
|
|
const CoordSystem & |
clientCoordSystem |
|
) |
| |
A, B and C are in client coordinate system.
| void Kaim::ClientInputConsumer::Flush |
( |
| ) |
|
|
private |
| ClientInputConsumerStatistics& Kaim::ClientInputConsumer::GetStats |
( |
| ) |
|
|
inline |
Retrieves information about the triangles consumed by this object.
| bool Kaim::ClientInputConsumer::m_backFaceTrianglesWalkable |
|
private |
Internal member: Accessed using ToggleBackfaceTriangleFiltering.
| KyArray<Vec3f> Kaim::ClientInputConsumer::m_childrenTriangles |
|
private |
Temporary buffer for triangles - in Gameware Navigation coordinates.
| KyUInt32 Kaim::ClientInputConsumer::m_clientInputFlushCount |
|
private |
Internal member: Count how many times the ClientInput was flushed.
| KyFloat32 Kaim::ClientInputConsumer::m_cosSlopeMax |
|
private |
Internal member: cosinus of maximum slope.
| DynamicNavTag Kaim::ClientInputConsumer::m_defaultNavTag |
|
private |
shortcut for m_sys m_genParams.m_defaultNavTag;
| DynamicClientInputChunk Kaim::ClientInputConsumer::m_dynamicClientInputChunk |
|
private |
Internal member: Original input chunk.
| Ptr<HeightField>* Kaim::ClientInputConsumer::m_heightfield |
|
private |
Internal member: Consumed heightField in Gameware Navigation coordinates.
Internal member: Consumed IndexedMesh in Gameware Navigation coordinates.
Temporary buffer for triangles - in Gameware Navigation coordinates.
| KyUInt32 Kaim::ClientInputConsumer::m_maxTriangleCountBeforeFlush |
|
private |
Internal member: For limited memory mode. 1024*1024 by default.
Internal member: The sector being processed.
Internal member: Consumed seedpoints in Gameware Navigation coordinates.
| SpatializedSectorInput* Kaim::ClientInputConsumer::m_spatializedSectorInput |
|
private |
Internal member: Spatialized input in Gameware Navigation coordinates.
| ClientInputConsumerStatistics Kaim::ClientInputConsumer::m_stats |
Maintains statistics about the data added to this object. Do not modify.
Fast access to the Generator-related information.
The documentation for this class was generated from the following file: