Emergency 20 Dokumentation  4.1.0
Static Public Member Functions | List of all members
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.

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: