VR-Engage  2.2
Loading...
Searching...
No Matches
vortexUtil.h File Reference
Include dependency graph for vortexUtil.h:

Go to the source code of this file.

Namespaces

namespace  makVre
 

Macros

#define CoerceToDtVector(x)
 
#define CoerceToVxReal3(x)
 
#define CoerceToVxVector(x)
 
#define printVec(vec)
 
#define printTransform(tm)
 
#define printMatrix(tm)
 
#define PROFILER_ZONE_COLOR(color)
 
#define PROFILER_SECTION_COLOR(text, color)
 
#define APPLICATION_COLOR_PROFILE   0x006400
 
#define PROFILE_VX_APPLICATION_ZONE   PROFILER_ZONE_COLOR(APPLICATION_COLOR_PROFILE);
 
#define PROFILE_VX_APPLICATION_SECTION(text)
 
#define PROFILE_VX_APPLICATION_SECTION_END   DtPROFILE_SECTION_END
 
#define TERRAIN_COLOR_PROFILE   tracy::Color::DodgerBlue3
 
#define PROFILE_VX_TERRAIN_ZONE   PROFILER_ZONE_COLOR(TERRAIN_COLOR_PROFILE);
 
#define PROFILE_VX_TERRAIN_SECTION(text)
 
#define PROFILE_VX_TERRAIN_SECTION_END   DtPROFILE_SECTION_END
 
#define DYNAMIC_TERRAIN_COLOR_PROFILE   tracy::Color::LightSalmon4
 
#define PROFILE_VX_DYNAMIC_TERRAIN_ZONE   PROFILER_ZONE_COLOR(DYNAMIC_TERRAIN_COLOR_PROFILE);
 
#define PROFILE_VX_DYNAMIC_TERRAIN_SECTION(text)
 
#define PROFILE_VX_DYNAMIC_TERRAIN_SECTION_END   DtPROFILE_SECTION_END
 
#define ACTUATOR_COLOR_PROFILE   tracy::Color::DarkOliveGreen3
 
#define PROFILE_VX_ACTUATOR_ZONE   PROFILER_ZONE_COLOR(ACTUATOR_COLOR_PROFILE);
 
#define PROFILE_VX_ACTUATOR_SECTION(text)
 
#define PROFILE_VX_ACTUATOR_SECTION_END   DtPROFILE_SECTION_END
 

Functions

void VREVRFVORTEX_DLL makVre::ConvertVortexToFlatEarth (const DtVector &input, DtVector &output)
 
void VREVRFVORTEX_DLL makVre::ConvertVortexToDISBody (const DtVector &input, DtVector &output)
 
void VREVRFVORTEX_DLL makVre::ConvertFlatEarthToVortex (const DtVector &input, DtVector &output)
 
void VREVRFVORTEX_DLL makVre::ConvertDISBodyToVortex (const DtVector &input, DtVector &output)
 
void VREVRFVORTEX_DLL makVre::ConvertVxVector3ToDtVector (const VxMath::Vector3 &input, DtVector &output)
 
void VREVRFVORTEX_DLL makVre::ConvertDtVectorToVxVector3 (const DtVector &input, VxMath::Vector3 &output)
 
bool VREVRFVORTEX_DLL makVre::doesBoundingBoxInclude (const VxMath::BoundingBox &bbOne, VxMath::BoundingBox &bbTwo)
 
bool VREVRFVORTEX_DLL makVre::doesBoundingBoxContainPoint (const VxMath::BoundingBox &bb, const DtVector &vec)
 
bool VREVRFVORTEX_DLL makVre::doesBoundingBoxContainPoint (const VxMath::BoundingBox &bb, const DtPoint &vec)
 
bool VREVRFVORTEX_DLL makVre::doesBoundingBoxContainPoint (const VxMath::BoundingBox &bb, const VxMath::Vector3 &vec)
 
bool VREVRFVORTEX_DLL makVre::doesExtentContainPoint (const DtExtent &ext, const DtVector &vec)
 
bool VREVRFVORTEX_DLL makVre::doesExtentContainPoint (const DtExtent &ext, const DtPoint &vec)
 
bool VREVRFVORTEX_DLL makVre::doesExtentContainPoint (const DtExtent &ext, const VxMath::Vector3 &vec)
 
DtVector makVre::getDtVector (const VxMath::Vector3 &input)
 
VxMath::Vector3 makVre::getVxVector (const DtVector &input)
 
bool makVre::isValidVortexLocalObject (DtLocalObject *obj)
 

Macro Definition Documentation

◆ CoerceToDtVector

#define CoerceToDtVector ( x)
Value:
*((DtVector*)(&x[0]))

Coercion macros for efficient memory access without copying.

Since both VxVector and DtVector/DtPoint are simply 3 doubles in memory, we can coerce one to be the other by doing pointer casting and dereferencing which avoids making any copies.

Converts a Vortex vector to a DtVector without copying memory

◆ CoerceToVxReal3

#define CoerceToVxReal3 ( x)
Value:
*((Vx::VxReal3*)(&x[0]))

Converts a DtVector to a Vx::VxReal3 without copying memory.

◆ CoerceToVxVector

#define CoerceToVxVector ( x)
Value:
*((VxMath::Vector3*)(&x[0]))

Converts a DtVector to a VxMath::Vector3 without copying memory.

◆ printVec

#define printVec ( vec)
Value:
std::fixed << std::setprecision(8) << "{" << vec[0] << ", " << vec[1] << ", " << vec[2] << "}"

Formats a vector for printing with fixed precision.

◆ printTransform

#define printTransform ( tm)
Value:
std::fixed << std::setprecision(8) << "[" << tm[0][0] << ", " << tm[0][1] << ", " << tm[0][2] << ", " << tm[0][3] \
<< "]" << std::endl \
<< "[" << tm[1][0] << ", " << tm[1][1] << ", " << tm[1][2] << ", " << tm[1][3] << "]" << std::endl \
<< "[" << tm[2][0] << ", " << tm[2][1] << ", " << tm[2][2] << ", " << tm[2][3] << "]" << std::endl \
<< "[" << tm[3][0] << ", " << tm[3][1] << ", " << tm[3][2] << ", " << tm[3][3] << "]"

Formats a transform matrix for printing with fixed precision.

◆ printMatrix

#define printMatrix ( tm)
Value:
std::fixed << std::setprecision(8) << "[" << tm(0, 0) << ", " << tm(0, 1) << ", " << tm(0, 2) << ", " << tm(0, 3) \
<< "]" << std::endl \
<< "[" << tm(1, 0) << ", " << tm(1, 1) << ", " << tm(1, 2) << ", " << tm(1, 3) << "]" << std::endl \
<< "[" << tm(2, 0) << ", " << tm(2, 1) << ", " << tm(2, 2) << ", " << tm(2, 3) << "]" << std::endl \
<< "[" << tm(3, 0) << ", " << tm(3, 1) << ", " << tm(3, 2) << ", " << tm(3, 3) << "]"

Formats a matrix for printing with fixed precision.

◆ PROFILER_ZONE_COLOR

#define PROFILER_ZONE_COLOR ( color)
Value:
ZoneNamedC(___tracy_scoped_zone, color, makVrf::DtProfiler::collectTracyStats());

Profiler macros for performance monitoring with color-coding.

Defines a profiler zone with a specific color

◆ PROFILER_SECTION_COLOR

#define PROFILER_SECTION_COLOR ( text,
color )
Value:
{ \
ZoneNamedNC(___tracy_scoped_zone, text, color, makVrf::DtProfiler::collectTracyStats());

Defines a profiler section with text and color.

◆ APPLICATION_COLOR_PROFILE

#define APPLICATION_COLOR_PROFILE   0x006400

Application profiling color (Dark Green)

◆ PROFILE_VX_APPLICATION_ZONE

#define PROFILE_VX_APPLICATION_ZONE   PROFILER_ZONE_COLOR(APPLICATION_COLOR_PROFILE);

Application profiling zone.

◆ PROFILE_VX_APPLICATION_SECTION

#define PROFILE_VX_APPLICATION_SECTION ( text)
Value:
#define APPLICATION_COLOR_PROFILE
Application profiling color (Dark Green)
Definition vortexUtil.h:174
#define PROFILER_SECTION_COLOR(text, color)
Defines a profiler section with text and color.
Definition vortexUtil.h:169

Application profiling section with text.

◆ PROFILE_VX_APPLICATION_SECTION_END

#define PROFILE_VX_APPLICATION_SECTION_END   DtPROFILE_SECTION_END

End of application profiling section.

◆ TERRAIN_COLOR_PROFILE

#define TERRAIN_COLOR_PROFILE   tracy::Color::DodgerBlue3

Terrain profiling color (DodgerBlue3)

◆ PROFILE_VX_TERRAIN_ZONE

#define PROFILE_VX_TERRAIN_ZONE   PROFILER_ZONE_COLOR(TERRAIN_COLOR_PROFILE);

Terrain profiling zone.

◆ PROFILE_VX_TERRAIN_SECTION

#define PROFILE_VX_TERRAIN_SECTION ( text)
Value:
#define TERRAIN_COLOR_PROFILE
Terrain profiling color (DodgerBlue3)
Definition vortexUtil.h:186

Terrain profiling section with text.

◆ PROFILE_VX_TERRAIN_SECTION_END

#define PROFILE_VX_TERRAIN_SECTION_END   DtPROFILE_SECTION_END

End of terrain profiling section.

◆ DYNAMIC_TERRAIN_COLOR_PROFILE

#define DYNAMIC_TERRAIN_COLOR_PROFILE   tracy::Color::LightSalmon4

Dynamic terrain profiling color (LightSalmon4)

◆ PROFILE_VX_DYNAMIC_TERRAIN_ZONE

#define PROFILE_VX_DYNAMIC_TERRAIN_ZONE   PROFILER_ZONE_COLOR(DYNAMIC_TERRAIN_COLOR_PROFILE);

Dynamic terrain profiling zone.

◆ PROFILE_VX_DYNAMIC_TERRAIN_SECTION

#define PROFILE_VX_DYNAMIC_TERRAIN_SECTION ( text)
Value:
#define DYNAMIC_TERRAIN_COLOR_PROFILE
Dynamic terrain profiling color (LightSalmon4)
Definition vortexUtil.h:198

Dynamic terrain profiling section with text.

◆ PROFILE_VX_DYNAMIC_TERRAIN_SECTION_END

#define PROFILE_VX_DYNAMIC_TERRAIN_SECTION_END   DtPROFILE_SECTION_END

End of dynamic terrain profiling section.

◆ ACTUATOR_COLOR_PROFILE

#define ACTUATOR_COLOR_PROFILE   tracy::Color::DarkOliveGreen3

Actuator profiling color (DarkOliveGreen3)

◆ PROFILE_VX_ACTUATOR_ZONE

#define PROFILE_VX_ACTUATOR_ZONE   PROFILER_ZONE_COLOR(ACTUATOR_COLOR_PROFILE);

Actuator profiling zone.

◆ PROFILE_VX_ACTUATOR_SECTION

#define PROFILE_VX_ACTUATOR_SECTION ( text)
Value:
#define ACTUATOR_COLOR_PROFILE
Actuator profiling color (DarkOliveGreen3)
Definition vortexUtil.h:210

Actuator profiling section with text.

◆ PROFILE_VX_ACTUATOR_SECTION_END

#define PROFILE_VX_ACTUATOR_SECTION_END   DtPROFILE_SECTION_END

End of actuator profiling section.