Emergency 2017 Dokumentation  v3.0.1
qsf::OgreMeshIntersectionHelper Class Reference

Helper class for retrieving mesh intersection information. More...

#include <OgreMeshIntersectionHelper.h>

Static Public Member Functions

static bool getMeshRayIntersection (Ogre::v1::Entity &ogreEntity, const Ogre::Ray &ogreRay, float &closestDistance, Ogre::v1::SubMesh **hitOgreSubMesh=nullptr, glm::vec3 *outNormal=nullptr, glm::vec2 *outTextureCoordinate=nullptr, bool lowestLod=true)
 
static bool getMeshRayIntersection (const Ogre::v1::Mesh &mesh, const Ogre::Ray &ogreRay, float &closestDistance, Ogre::v1::SubMesh **hitOgreSubMesh=nullptr, glm::vec3 *outNormal=nullptr, glm::vec2 *outTextureCoordinate=nullptr)
 
static bool getMeshRayIntersection (const Ogre::ManualObject &manualObject, const Ogre::Ray &ogreRay, float &closestDistance, Ogre::ManualObject::ManualObjectSection **hitOgreManualObjectSection=nullptr)
 
static bool isMeshContainedInPlaneBoundedVolume (Ogre::v1::Entity &ogreEntity, const PlaneBoundedVolume &planeBoundedVolume, bool lowestLod=true)
 
static bool isMeshContainedInPlaneBoundedVolume (const Ogre::v1::Mesh &mesh, const PlaneBoundedVolume &planeBoundedVolume)
 
static bool isMeshContainedInPlaneBoundedVolume (const Ogre::ManualObject &manualObject, const PlaneBoundedVolume &planeBoundedVolume)
 

Detailed Description

Helper class for retrieving mesh intersection information.

Todo:
  • TODO(co) Review and cleanup texture coordinate calculation. Was added quick'n'dirty for the SANTRAIN project and hacks were added by an external SANTRAIN programmer.

Definition at line 52 of file OgreMeshIntersectionHelper.h.

Member Function Documentation

static bool qsf::OgreMeshIntersectionHelper::getMeshRayIntersection ( Ogre::v1::Entity &  ogreEntity,
const Ogre::Ray &  ogreRay,
float &  closestDistance,
Ogre::v1::SubMesh **  hitOgreSubMesh = nullptr,
glm::vec3 *  outNormal = nullptr,
glm::vec2 *  outTextureCoordinate = nullptr,
bool  lowestLod = true 
)
static

Mesh and ray check (ray and result is in local space)

static bool qsf::OgreMeshIntersectionHelper::getMeshRayIntersection ( const Ogre::v1::Mesh &  mesh,
const Ogre::Ray &  ogreRay,
float &  closestDistance,
Ogre::v1::SubMesh **  hitOgreSubMesh = nullptr,
glm::vec3 *  outNormal = nullptr,
glm::vec2 *  outTextureCoordinate = nullptr 
)
static
static bool qsf::OgreMeshIntersectionHelper::getMeshRayIntersection ( const Ogre::ManualObject &  manualObject,
const Ogre::Ray &  ogreRay,
float &  closestDistance,
Ogre::ManualObject::ManualObjectSection **  hitOgreManualObjectSection = nullptr 
)
static
static bool qsf::OgreMeshIntersectionHelper::isMeshContainedInPlaneBoundedVolume ( Ogre::v1::Entity &  ogreEntity,
const PlaneBoundedVolume planeBoundedVolume,
bool  lowestLod = true 
)
static

Mesh and plane bounded volume check (volume is in local space)

static bool qsf::OgreMeshIntersectionHelper::isMeshContainedInPlaneBoundedVolume ( const Ogre::v1::Mesh &  mesh,
const PlaneBoundedVolume planeBoundedVolume 
)
static
static bool qsf::OgreMeshIntersectionHelper::isMeshContainedInPlaneBoundedVolume ( const Ogre::ManualObject &  manualObject,
const PlaneBoundedVolume planeBoundedVolume 
)
static

The documentation for this class was generated from the following file: