Description

Namespaces

   
namespace Geometry::BoundingSphere
Bounding sphere computations.
namespace Geometry::Helper
namespace Geometry::Interpolation
namespace Geometry::Intersection

Classes

   
class Geometry::_Angle
class Geometry::_Box
class Geometry::_DualQuaternion
class Geometry::_Line
class Geometry::_LineBase
The common abstract base class for Lines, Rays and Segments.
class Geometry::_Matrix3x3
class Geometry::_Matrix4x4
class Geometry::_Plane
class Geometry::_Quaternion
class Geometry::_Ray
class Geometry::_Rect
class Geometry::_Segment
class Geometry::_Sphere
class Geometry::_SRT
class Geometry::_Vec2
class Geometry::_Vec3
class Geometry::_Vec4
class Geometry::_VecN
struct Geometry::Convert
class Geometry::Frustum
class Geometry::Point
class Geometry::PointOctree
class Geometry::Tetrahedron
class Geometry::Triangle
class Geometry::VoxelStorage

Enumerations

   
   
enum side_t {X_NEG, Y_NEG, Z_NEG, X_POS, Y_POS, Z_POS}
   
enum corner_t {xyz, Xyz, xYz, XYz, xyZ, XyZ, xYZ, XYZ}
   
enum dimension_t {X, Y, Z}
Enumeration for at most three dimensions.
   
enum rectCorner_t {xy, Xy, xY, XY}

Typedefs

   
   
typedef _Angle < float > Angle
   
typedef _Vec3 < float > Vec3f
   
typedef _Sphere < float > Sphere_f
   
typedef _Box < float > Box
   
typedef _Box < double > Box_d
   
typedef _Box < float > Box_f
   
typedef _Matrix4x4 < float > Matrix4x4f
   
typedef Triangle < _Vec3 < float » Triangle_f
   
typedef _DualQuaternion < float > DualQuaternion
   
typedef _DualQuaternion < float > DualQuaternionf
   
typedef _DualQuaternion < double > DualQuaterniond
   
typedef _Line < Vec2f > Line2
   
typedef _Line < Vec2f > Line2f
   
typedef _Line < Vec2d > Line2d
   
typedef _Line < Vec3f > Line3
   
typedef _Line < Vec3f > Line3f
   
typedef _Line < Vec3d > Line3d
   
typedef _Ray < Vec2f > Ray2
   
typedef _Ray < Vec2f > Ray2f
   
typedef _Ray < Vec2d > Ray2d
   
typedef _Ray < Vec3f > Ray3
   
typedef _Ray < Vec3f > Ray3f
   
typedef _Ray < Vec3d > Ray3d
   
typedef _Segment < Vec2f > Segment2
   
typedef _Segment < Vec2f > Segment2f
   
typedef _Segment < Vec2d > Segment2d
   
typedef _Segment < Vec3f > Segment3
   
typedef _Segment < Vec3f > Segment3f
   
typedef _Segment < Vec3d > Segment3d
   
typedef _Matrix3x3 < float > Matrix3f
   
typedef _Matrix3x3 < float > Matrix3x3
   
typedef _Matrix3x3 < float > Matrix3x3f
   
typedef _Matrix3x3 < double > Matrix3x3d
   
typedef _Matrix4x4 < double > Matrix4x4d
   
typedef _Matrix4x4 < float > Matrix4x4
   
typedef _Plane < float > Plane
   
typedef _Plane < float > Planef
   
typedef _Plane < double > Planed
   
typedef _Quaternion < float > Quaternion
   
typedef _Quaternion < double > Quaternion_d
   
typedef _Rect < float > Rect
   
typedef _Rect < float > Rect_f
   
typedef _Rect < int > Rect_i
   
typedef _Rect < double > Rect_d
   
typedef _Sphere < double > Sphere_d
   
typedef _Sphere < int > Sphere_i
   
typedef _SRT < float > SRT
   
typedef _SRT < float > SRTf
   
typedef _SRT < double > SRTd
   
typedef _Vec2 < float > Vec2
   
typedef _Vec2 < float > Vec2f
   
typedef _Vec2 < int > Vec2i
   
typedef _Vec2 < double > Vec2d
   
typedef _Vec3 < float > Vec3
   
typedef _Vec3 < double > Vec3d
   
typedef _Vec3 < int > Vec3i
   
typedef _Vec4 < float > Vec4
   
typedef _Vec4 < float > Vec4f
   
typedef _Vec4 < double > Vec4d
   
typedef _Vec4 < int > Vec4i
   
typedef _VecN < float, float > VecN
   
typedef _VecN < float, float > VecNf
   
typedef _VecN < double, double > VecNd
   
typedef _VecN < int, float > VecNi
   
typedef Triangle < _Vec3 < float > > Triangle_3f
   
typedef Triangle < _Vec2 < float > > Triangle_2f
   
typedef _Sphere < float > Sphere
   
typedef Triangle < Vec3 > Triangle3
   
typedef _Vec3 < char > Vec3b

Documentation

enum
Geometry::side_t

public
 
 
enum side_t
Enumerator   Description
Enumerator   Description
X_NEG = 0  
Y_NEG = 1  
Z_NEG = 2  
X_POS = 3  
Y_POS = 4  
Z_POS = 5  

Sides of a three-dimensional box.

^Y
    |
    |
    |
    o---> X
      /
   Z /    .---------.
      / Y_POS:  /|
     /    4    / |--Z_NEG: 2
    .---------.  |
X_NEG: |         | ----X_POS: 3
   0---|  Z_POS: |  |
    |    5    | /
    |         |/--Y_NEG: 1
    '---------'

Note: The mapping to integers must not be changed because some functions depend on it for iteration.

Defined in Geometry/Definitions.h:37


enum
Geometry::corner_t

public
 
 
enum corner_t
Enumerator   Description
Enumerator   Description
xyz = 0  
Xyz = 1  
xYz = 2  
XYz = 3  
xyZ = 4  
XyZ = 5  
xYZ = 6  
XYZ = 7  

Corners of a three-dimensional box.

^Y
      |
      |
      |
      o---> X
     /
   Z/

Corners:
     2---------3
    /|        /|
   / |       / |
  6---------7  |
  |  |      |  |
  |  0------|--1
  | /       | /
  |/        |/
  4---------5

Note: The mapping to integers must not be changed because some functions depend on it.

  • Box::getOctant(Vec3f v)

  • Box::getOppositeCorner(cornet_t nr)

Note: Meaning of the variable names: small letters denote corners in negative side of the cube, great letters denote corners in positive side of the cube

Defined in Geometry/Definitions.h:69


enum
Geometry::dimension_t

public
 
 
enum dimension_t
Enumerator   Description
Enumerator   Description
X = 0  
Y = 1  
Z = 2  

Enumeration for at most three dimensions.

Defined in Geometry/Definitions.h:81


enum
Geometry::rectCorner_t

public
 
 
enum rectCorner_t
Enumerator   Description
Enumerator   Description
xy = 0  
Xy = 1  
xY = 2  
XY = 3  

Corners of a two-dimensional rect.

^Y
      |
      |
      |
      o---> X


Corners:
   2---------3
   |         |
   |         |
   |         |
   0---------1

Note: The mapping to integers must not be changed because some functions depend on it.

Note: Meaning of the variable names: small letters denote corners in negative side of the rect, great letters denote corners in positive side of the rect

Defined in Geometry/Definitions.h:107


typedef
Geometry::Angle

public
 
 
typedef _Angle < float > Angle

Defined in Geometry/Angle.h:105


typedef
Geometry::Vec3f

public
 
 
typedef _Vec3 < float > Vec3f

Defined in Geometry/BoundingSphere.h:20


typedef
Geometry::Sphere_f

public
 
 
typedef _Sphere < float > Sphere_f

Defined in Geometry/BoundingSphere.h:23


typedef
Geometry::Box

public
 
 
typedef _Box < float > Box

Defined in Geometry/Box.h:245


typedef
Geometry::Box_d

public
 
 
typedef _Box < double > Box_d

Defined in Geometry/Box.h:246


typedef
Geometry::Box_f

public
 
 
typedef _Box < float > Box_f

Defined in Geometry/BoxHelper.h:21


typedef
Geometry::Matrix4x4f

public
 
 
typedef _Matrix4x4 < float > Matrix4x4f

Defined in Geometry/BoxHelper.h:24


typedef
Geometry::Triangle_f

public
 
 
typedef Triangle < _Vec3 < float » Triangle_f

Defined in Geometry/BoxIntersection.h:23


typedef
Geometry::DualQuaternion

public
 
 
typedef _DualQuaternion < float > DualQuaternion

Defined in Geometry/DualQuaternion.h:346


typedef
Geometry::DualQuaternionf

public
 
 
typedef _DualQuaternion < float > DualQuaternionf

Defined in Geometry/DualQuaternion.h:347


typedef
Geometry::DualQuaterniond

public
 
 
typedef _DualQuaternion < double > DualQuaterniond

Defined in Geometry/DualQuaternion.h:348


typedef
Geometry::Line2

public
 
 
typedef _Line < Vec2f > Line2

Defined in Geometry/Line.h:259


typedef
Geometry::Line2f

public
 
 
typedef _Line < Vec2f > Line2f

Defined in Geometry/Line.h:260


typedef
Geometry::Line2d

public
 
 
typedef _Line < Vec2d > Line2d

Defined in Geometry/Line.h:261


typedef
Geometry::Line3

public
 
 
typedef _Line < Vec3f > Line3

Defined in Geometry/Line.h:262


typedef
Geometry::Line3f

public
 
 
typedef _Line < Vec3f > Line3f

Defined in Geometry/Line.h:263


typedef
Geometry::Line3d

public
 
 
typedef _Line < Vec3d > Line3d

Defined in Geometry/Line.h:264


typedef
Geometry::Ray2

public
 
 
typedef _Ray < Vec2f > Ray2

Defined in Geometry/Line.h:299


typedef
Geometry::Ray2f

public
 
 
typedef _Ray < Vec2f > Ray2f

Defined in Geometry/Line.h:300


typedef
Geometry::Ray2d

public
 
 
typedef _Ray < Vec2d > Ray2d

Defined in Geometry/Line.h:301


typedef
Geometry::Ray3

public
 
 
typedef _Ray < Vec3f > Ray3

Defined in Geometry/Line.h:302


typedef
Geometry::Ray3f

public
 
 
typedef _Ray < Vec3f > Ray3f

Defined in Geometry/Line.h:303


typedef
Geometry::Ray3d

public
 
 
typedef _Ray < Vec3d > Ray3d

Defined in Geometry/Line.h:304


typedef
Geometry::Segment2

public
 
 
typedef _Segment < Vec2f > Segment2

Defined in Geometry/Line.h:349


typedef
Geometry::Segment2f

public
 
 
typedef _Segment < Vec2f > Segment2f

Defined in Geometry/Line.h:350


typedef
Geometry::Segment2d

public
 
 
typedef _Segment < Vec2d > Segment2d

Defined in Geometry/Line.h:351


typedef
Geometry::Segment3

public
 
 
typedef _Segment < Vec3f > Segment3

Defined in Geometry/Line.h:352


typedef
Geometry::Segment3f

public
 
 
typedef _Segment < Vec3f > Segment3f

Defined in Geometry/Line.h:353


typedef
Geometry::Segment3d

public
 
 
typedef _Segment < Vec3d > Segment3d

Defined in Geometry/Line.h:354


typedef
Geometry::Matrix3f

public
 
 
typedef _Matrix3x3 < float > Matrix3f

Defined in Geometry/Matrix3x3.h:319


typedef
Geometry::Matrix3x3

public
 
 
typedef _Matrix3x3 < float > Matrix3x3

Defined in Geometry/Matrix3x3.h:320


typedef
Geometry::Matrix3x3f

public
 
 
typedef _Matrix3x3 < float > Matrix3x3f

Defined in Geometry/Matrix3x3.h:321


typedef
Geometry::Matrix3x3d

public
 
 
typedef _Matrix3x3 < double > Matrix3x3d

Defined in Geometry/Matrix3x3.h:322


typedef
Geometry::Matrix4x4d

public
 
 
typedef _Matrix4x4 < double > Matrix4x4d

Defined in Geometry/Matrix4x4.h:652


typedef
Geometry::Matrix4x4

public
 
 
typedef _Matrix4x4 < float > Matrix4x4

Defined in Geometry/Matrix4x4.h:653


typedef
Geometry::Plane

public
 
 
typedef _Plane < float > Plane

Defined in Geometry/Plane.h:197


typedef
Geometry::Planef

public
 
 
typedef _Plane < float > Planef

Defined in Geometry/Plane.h:198


typedef
Geometry::Planed

public
 
 
typedef _Plane < double > Planed

Defined in Geometry/Plane.h:199


typedef
Geometry::Quaternion

public
 
 
typedef _Quaternion < float > Quaternion

Defined in Geometry/Quaternion.h:401


typedef
Geometry::Quaternion_d

public
 
 
typedef _Quaternion < double > Quaternion_d

Defined in Geometry/Quaternion.h:402


typedef
Geometry::Rect

public
 
 
typedef _Rect < float > Rect

Defined in Geometry/Rect.h:357


typedef
Geometry::Rect_f

public
 
 
typedef _Rect < float > Rect_f

Defined in Geometry/Rect.h:358


typedef
Geometry::Rect_i

public
 
 
typedef _Rect < int > Rect_i

Defined in Geometry/Rect.h:359


typedef
Geometry::Rect_d

public
 
 
typedef _Rect < double > Rect_d

Defined in Geometry/Rect.h:360


typedef
Geometry::Sphere_d

public
 
 
typedef _Sphere < double > Sphere_d

Defined in Geometry/Sphere.h:205


typedef
Geometry::Sphere_i

public
 
 
typedef _Sphere < int > Sphere_i

Defined in Geometry/Sphere.h:207


typedef
Geometry::SRT

public
 
 
typedef _SRT < float > SRT

Defined in Geometry/SRT.h:283


typedef
Geometry::SRTf

public
 
 
typedef _SRT < float > SRTf

Defined in Geometry/SRT.h:284


typedef
Geometry::SRTd

public
 
 
typedef _SRT < double > SRTd

Defined in Geometry/SRT.h:285


typedef
Geometry::Vec2

public
 
 
typedef _Vec2 < float > Vec2

Defined in Geometry/Vec2.h:309


typedef
Geometry::Vec2f

public
 
 
typedef _Vec2 < float > Vec2f

Defined in Geometry/Vec2.h:310


typedef
Geometry::Vec2i

public
 
 
typedef _Vec2 < int > Vec2i

Defined in Geometry/Vec2.h:311


typedef
Geometry::Vec2d

public
 
 
typedef _Vec2 < double > Vec2d

Defined in Geometry/Vec2.h:312


typedef
Geometry::Vec3

public
 
 
typedef _Vec3 < float > Vec3

Defined in Geometry/Vec3.h:516


typedef
Geometry::Vec3d

public
 
 
typedef _Vec3 < double > Vec3d

Defined in Geometry/Vec3.h:518


typedef
Geometry::Vec3i

public
 
 
typedef _Vec3 < int > Vec3i

Defined in Geometry/Vec3.h:519


typedef
Geometry::Vec4

public
 
 
typedef _Vec4 < float > Vec4

Defined in Geometry/Vec4.h:458


typedef
Geometry::Vec4f

public
 
 
typedef _Vec4 < float > Vec4f

Defined in Geometry/Vec4.h:459


typedef
Geometry::Vec4d

public
 
 
typedef _Vec4 < double > Vec4d

Defined in Geometry/Vec4.h:460


typedef
Geometry::Vec4i

public
 
 
typedef _Vec4 < int > Vec4i

Defined in Geometry/Vec4.h:461


typedef
Geometry::VecN

public
 
 
typedef _VecN < float, float > VecN

Defined in Geometry/VecN.h:567


typedef
Geometry::VecNf

public
 
 
typedef _VecN < float, float > VecNf

Defined in Geometry/VecN.h:568


typedef
Geometry::VecNd

public
 
 
typedef _VecN < double, double > VecNd

Defined in Geometry/VecN.h:569


typedef
Geometry::VecNi

public
 
 
typedef _VecN < int, float > VecNi

Defined in Geometry/VecN.h:570


typedef
Geometry::Triangle_3f

public
 
 
typedef Triangle < _Vec3 < float > > Triangle_3f

Defined in MinSG/Ext/PathTracing/ExtTriangle.h:18


typedef
Geometry::Triangle_2f

public
 
 
typedef Triangle < _Vec2 < float > > Triangle_2f

Defined in MinSG/Ext/PathTracing/ExtTriangle.h:19


typedef
Geometry::Sphere

public
 
 
typedef _Sphere < float > Sphere

Defined in MinSG/Ext/Physics/PhysicWorld.h:33


typedef
Geometry::Triangle3

public
 
 
typedef Triangle < Vec3 > Triangle3

Defined in Rendering/MeshUtils/ConnectivityAccessor.h:27


typedef
Geometry::Vec3b

public
 
 
typedef _Vec3 < char > Vec3b

Defined in Rendering/MeshUtils/MeshBuilder.h:45