15#include <terrainInterface/terrainProcessPolygonsBox.h>
20#include <tbb/spin_mutex.h>
29class DtSurfaceToVxMaterialMapper;
50 points[0] = triStruct.points[0];
51 points[1] = triStruct.points[1];
52 points[2] = triStruct.points[2];
64 void set(DtPoint pt0, DtPoint pt1, DtPoint pt2, DtSurface surf)
Class for converting between different coordinate systems.
Definition coordConverter.h:31
double collisionGeometryTime() const
Gets the time taken to generate collision geometry in milliseconds.
HiResClock::time_point myGetTrianglesEndTime
End time for triangle collection.
Definition pagedTerrainRequest.h:237
DtTerrainProcessPolygonsBox myBoundingBox
Bounding box defining the terrain area.
Definition pagedTerrainRequest.h:248
virtual bool processTriangles() const override
Checks if triangles should be processed.
double getTrianglesTime() const
Gets the time taken to collect triangles in milliseconds.
HiResClock::time_point myGetTrianglesStartTime
Start time for triangle collection.
Definition pagedTerrainRequest.h:236
HiResClock::time_point myTriangleMeshStartTime
Start time for triangle mesh generation.
Definition pagedTerrainRequest.h:242
void startGetTrianglesProcessTime()
Starts timing the triangle collection process.
void endCollisionGeometryProcessTime()
Ends timing the collision geometry generation process.
std::vector< DtVortexTriangleStructure > TerrainTriangleStructList
Type definition for a collection of triangles.
Definition pagedTerrainRequest.h:86
bool myIsGeocentric
Flag indicating if terrain is in geocentric coordinates.
Definition pagedTerrainRequest.h:231
void setForcePaging(bool page)
Sets whether to force paging of terrain data.
bool isDynamicTerrain() const
Checks if this represents dynamic terrain.
DtCoordinateConvert * myCoordConvert
Converter for geocentric coordinates.
Definition pagedTerrainRequest.h:250
HiResClock::time_point myCollisionGeometryStartTime
Start time for collision geometry generation.
Definition pagedTerrainRequest.h:239
void setMaterialMap(std::shared_ptr< DtSurfaceToVxMaterialMapper > mapper)
Sets the material mapper for surface filtering.
virtual void processTriangle(const DtTerrainTriangleStruct &triangle) override
Processes a terrain triangle and adds it to the collection.
void setProcessTriangles(bool value)
Sets whether triangles should be processed.
tbb::spin_mutex myProcessTriangleMutex
Mutex for thread-safe triangle processing.
Definition pagedTerrainRequest.h:256
void endTriangleMeshProcessTime()
Ends timing the triangle mesh generation process.
void startCollisionGeometryProcessTime()
Starts timing the collision geometry generation process.
virtual ~DtVortexTriangleOutputInterface()
Destructor.
virtual unsigned triangleCount() const
Gets the number of collected triangles.
HiResClock::time_point myCollisionGeometryEndTime
End time for collision geometry generation.
Definition pagedTerrainRequest.h:240
virtual void clearTriangleList()
Clears the triangle list.
int myRequestId
Identifier for this request.
Definition pagedTerrainRequest.h:245
virtual bool forcePaging() const override
Checks if paging is forced.
bool myIsDynamicTerrain
Flag indicating if this represents dynamic terrain.
Definition pagedTerrainRequest.h:230
bool myRequestFinished
Flag indicating if the request has been completed.
Definition pagedTerrainRequest.h:232
DtVortexTriangleOutputInterface(DtTerrainProcessPolygonsBox bb, const unsigned int reserveSize)
Constructor with bounding box and capacity specification.
HiResClock::time_point myTriangleMeshEndTime
End time for triangle mesh generation.
Definition pagedTerrainRequest.h:243
void setSourceId(int id)
Sets the source identifier.
DtTerrainProcessPolygonsBox boundingBox() const
Gets the bounding box.
virtual const TerrainTriangleStructList & triangles() const
Gets the collected triangles.
std::shared_ptr< DtSurfaceToVxMaterialMapper > myMaterialMapper
Mapper for filtering surfaces.
Definition pagedTerrainRequest.h:252
void setGeocentricTerrain(bool isGeo)
Sets whether the terrain is in geocentric coordinates.
TerrainTriangleStructList myTriangleList
List of collected triangles.
Definition pagedTerrainRequest.h:255
void setIsDynamicTerrain(bool dynamic=false)
Sets whether this represents dynamic terrain.
bool myProcessTriangles
Flag indicating if triangles should be processed.
Definition pagedTerrainRequest.h:234
bool myForcePaging
Flag indicating if paging should be forced.
Definition pagedTerrainRequest.h:233
void setRequestId(int id)
Sets the request identifier.
int mySourceId
Source identifier for this terrain data.
Definition pagedTerrainRequest.h:246
void setCoordinateConversion(DtCoordinateConvert *coordConv)
Sets the coordinate conversion object.
void endGetTrianglesProcessTime()
Ends timing the triangle collection process.
void startTriangleMeshProcessTime()
Starts timing the triangle mesh generation process.
int requestId() const
Gets the request identifier.
double triangleMeshTime() const
Gets the time taken to generate triangle mesh in milliseconds.
int sourceId() const
Gets the source identifier.
unsigned int myTriangleCount
Number of triangles collected.
Definition pagedTerrainRequest.h:254
Provides coordinate conversion functionality between different coordinate systems.
Export macros for the VR-Forces Vortex extension library.
#define VREVRFVORTEX_DLL
Export macro for non-Windows platforms.
Definition export.h:30
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
std::chrono::high_resolution_clock HiResClock
High-resolution clock type used for timing operations.
Definition pagedTerrainRequest.h:25
DtPoint points[3]
Array of three vertex points defining the triangle.
Definition pagedTerrainRequest.h:72
DtVortexTriangleStructure()
Default constructor.
Definition pagedTerrainRequest.h:41
DtVortexTriangleStructure(const DtTerrainTriangleStruct &triStruct)
Conversion constructor.
Definition pagedTerrainRequest.h:48
DtSurface surface
Surface type identifier for material properties.
Definition pagedTerrainRequest.h:73
void set(DtPoint pt0, DtPoint pt1, DtPoint pt2, DtSurface surf)
Sets the triangle vertices and surface.
Definition pagedTerrainRequest.h:64