library of assembled shared sources

http://lass.cocamware.com

lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits Struct Reference

Inheritance diagram for lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits:

Inheritance graph
[legend]
Collaboration diagram for lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits:

Collaboration graph
[legend]

Public Types

typedef TSelf::TTriangle TObject
typedef TSelf::TTriangleIterator TObjectIterator
typedef const TTriangleTObjectReference
typedef void TInfo
typedef TAabbRayTraits::TAabb TAabb
 an nD AABB
typedef TAabbRayTraits::TRay TRay
 an nD Ray
typedef TAabbRayTraits::TPoint TPoint
 an nD point
typedef TAabbRayTraits::TVector TVector
 an nD vector
typedef TAabbRayTraits::TValue TValue
 numerical type used in TPoint and TVector
typedef TAabbRayTraits::TParam TParam
 best type for function parameters of TValue
typedef TAabbRayTraits::TReference TReference
 reference to TValue
typedef
TAabbRayTraits::TConstReference 
TConstReference
 const reference to TValue
enum  { dimension = TAabb::dimension }

Static Public Member Functions

static const TAabb objectAabb (TObjectIterator triangle)
static const bool objectIntersect (TObjectIterator triangle, const TRay &ray, TReference t, TParam tMin, const TInfo *info)
static const bool objectIntersects (TObjectIterator triangle, const TRay &ray, TParam tMin, TParam tMax, const TInfo *info)
static const TAabb aabbEmpty ()
 return empty AABB
static const bool aabbContains (const TAabb &aabb, const TPoint &point)
 return true if AABB contains a point, return false otherwise
static const bool aabbContains (const TAabb &aabb, const TAabb &other)
static const bool aabbIntersect (const TAabb &aabb, const TRay &ray, TReference t, const TParam tMin)
 return true if AABB is intersected by ray
static const TAabb aabbJoin (const TAabb &a, const TAabb &b)
 join two AABBs and return the result
static const TPoint aabbMin (const TAabb &aabb)
 return the minimum corner of the AABB
static const TPoint aabbMax (const TAabb &aabb)
 return the maximum corner of the AABB
static const TPoint raySupport (const TRay &ray)
 return the support point of the ray
static const TVector rayDirection (const TRay &ray)
 return the direction vector of the ray
static const TValue coord (const TPoint &point, size_t axis)
 return the axis coordinate value of point.
static void coord (TPoint &point, size_t axis, TParam value)
 set the axis coordinate value of point.
static const TValue coord (const TVector &vector, size_t axis)
 return the axis component value of vector.
static void coord (TVector &vector, size_t axis, TParam value)
 set the axis component value of vector.
static const TVector vectorReciprocal (const TVector &vector)
 return the reciprocal vector of vector

Detailed Description

template<typename T, template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics>
struct lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits

Definition at line 181 of file triangle_mesh_3d.h.


Member Typedef Documentation

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TSelf::TTriangle lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TObject

Definition at line 183 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TSelf::TTriangleIterator lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TObjectIterator

Definition at line 184 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef const TTriangle& lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TObjectReference

Definition at line 185 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef void lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TInfo

Definition at line 186 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TAabb lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TAabb

an nD AABB

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 188 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TRay lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TRay

an nD Ray

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 189 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TPoint lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TPoint

an nD point

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 190 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TVector lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TVector

an nD vector

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 191 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TValue lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TValue

numerical type used in TPoint and TVector

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 192 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TParam lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TParam

best type for function parameters of TValue

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 193 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TReference lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TReference

reference to TValue

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 194 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
typedef TAabbRayTraits::TConstReference lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::TConstReference

const reference to TValue

Reimplemented from lass::spat::DefaultAabbRayTraits< AabbType, RayType >.

Definition at line 195 of file triangle_mesh_3d.h.


Member Enumeration Documentation

template<typename AabbType , typename RayType >
anonymous enum [inherited]

Enumerator:
dimension 

Definition at line 78 of file default_object_traits.h.


Member Function Documentation

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
static const TAabb lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::objectAabb ( TObjectIterator  triangle  )  [inline, static]

Definition at line 197 of file triangle_mesh_3d.h.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
static const bool lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::objectIntersect ( TObjectIterator  triangle,
const TRay ray,
TReference  t,
TParam  tMin,
const TInfo info 
) [inline, static]

Definition at line 205 of file triangle_mesh_3d.h.

References lass::prim::rOne.

template<typename T , template< typename T, typename OT, typename SH > class BoundingVolumeHierarchy, typename SplitHeuristics >
static const bool lass::prim::TriangleMesh3D< T, BoundingVolumeHierarchy, SplitHeuristics >::TriangleTraits::objectIntersects ( TObjectIterator  triangle,
const TRay ray,
TParam  tMin,
TParam  tMax,
const TInfo info 
) [inline, static]

Definition at line 210 of file triangle_mesh_3d.h.

References lass::prim::rOne.

template<typename AabbType , typename RayType >
static const TAabb lass::spat::DefaultAabbRayTraits< AabbType, RayType >::aabbEmpty (  )  [inline, static, inherited]

return empty AABB

Definition at line 84 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const bool lass::spat::DefaultAabbRayTraits< AabbType, RayType >::aabbContains ( const TAabb aabb,
const TPoint point 
) [inline, static, inherited]

return true if AABB contains a point, return false otherwise

Definition at line 91 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const bool lass::spat::DefaultAabbRayTraits< AabbType, RayType >::aabbContains ( const TAabb aabb,
const TAabb other 
) [inline, static, inherited]

Definition at line 96 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const bool lass::spat::DefaultAabbRayTraits< AabbType, RayType >::aabbIntersect ( const TAabb aabb,
const TRay ray,
TReference  t,
const TParam  tMin 
) [inline, static, inherited]

return true if AABB is intersected by ray

Definition at line 103 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TAabb lass::spat::DefaultAabbRayTraits< AabbType, RayType >::aabbJoin ( const TAabb a,
const TAabb b 
) [inline, static, inherited]

join two AABBs and return the result

Definition at line 110 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TPoint lass::spat::DefaultAabbRayTraits< AabbType, RayType >::aabbMin ( const TAabb aabb  )  [inline, static, inherited]

return the minimum corner of the AABB

Definition at line 117 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TPoint lass::spat::DefaultAabbRayTraits< AabbType, RayType >::aabbMax ( const TAabb aabb  )  [inline, static, inherited]

return the maximum corner of the AABB

Definition at line 124 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TPoint lass::spat::DefaultAabbRayTraits< AabbType, RayType >::raySupport ( const TRay ray  )  [inline, static, inherited]

return the support point of the ray

Definition at line 134 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TVector lass::spat::DefaultAabbRayTraits< AabbType, RayType >::rayDirection ( const TRay ray  )  [inline, static, inherited]

return the direction vector of the ray

Definition at line 141 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TValue lass::spat::DefaultAabbRayTraits< AabbType, RayType >::coord ( const TPoint point,
size_t  axis 
) [inline, static, inherited]

return the axis coordinate value of point.

Definition at line 152 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static void lass::spat::DefaultAabbRayTraits< AabbType, RayType >::coord ( TPoint point,
size_t  axis,
TParam  value 
) [inline, static, inherited]

set the axis coordinate value of point.

Definition at line 159 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TValue lass::spat::DefaultAabbRayTraits< AabbType, RayType >::coord ( const TVector vector,
size_t  axis 
) [inline, static, inherited]

return the axis component value of vector.

Definition at line 166 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static void lass::spat::DefaultAabbRayTraits< AabbType, RayType >::coord ( TVector vector,
size_t  axis,
TParam  value 
) [inline, static, inherited]

set the axis component value of vector.

Definition at line 173 of file default_object_traits.h.

template<typename AabbType , typename RayType >
static const TVector lass::spat::DefaultAabbRayTraits< AabbType, RayType >::vectorReciprocal ( const TVector vector  )  [inline, static, inherited]

return the reciprocal vector of vector

Definition at line 180 of file default_object_traits.h.


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

Generated on Mon Nov 10 14:22:14 2008 for Library of Assembled Shared Sources by doxygen 1.5.7.1
SourceForge.net Logo