PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::TOrientedBox3D< Real > Class Template Reference

#include <Primitive3D.h>

Collaboration diagram for dyno::TOrientedBox3D< Real >:

Public Types

typedef Vector< Real, 2 > Coord2D
 
typedef Vector< Real, 3 > Coord3D
 
typedef SquareMatrix< Real, 3 > Matrix3D
 

Public Member Functions

DYN_FUNC TOrientedBox3D ()
 
DYN_FUNC TOrientedBox3D (const Coord3D c, const Coord3D u_t, const Coord3D v_t, const Coord3D w_t, const Coord3D ext)
 construct an oriented bounding box, gurantee u_t, v_t and w_t are unit vectors and form right-handed orthornormal basis
 
DYN_FUNC TOrientedBox3D (const Coord3D c, const Quat< Real > rot, const Coord3D ext)
 
DYN_FUNC TOrientedBox3D (const TOrientedBox3D< Real > &obb)
 
DYN_FUNC TPoint3D< Realvertex (const int i) const
 
DYN_FUNC TSegment3D< Realedge (const int i) const
 
DYN_FUNC TRectangle3D< Realface (const int i) const
 
DYN_FUNC Real volume ()
 
DYN_FUNC bool isValid ()
 
DYN_FUNC TOrientedBox3D< Realrotate (const Matrix3D &mat)
 
DYN_FUNC TAlignedBox3D< Realaabb ()
 
DYN_FUNC bool point_intersect (const TOrientedBox3D< Real > &OBB, Coord3D &interNorm, Real &interDist, Coord3D &p1, Coord3D &p2) const
 
DYN_FUNC bool point_intersect (const TTet3D< Real > &TET, Coord3D &interNorm, Real &interDist, Coord3D &p1, Coord3D &p2) const
 
DYN_FUNC bool point_intersect (const TTriangle3D< Real > &TRI, Coord3D &interNorm, Real &interDist, Coord3D &p1, Coord3D &p2) const
 

Public Attributes

Coord3D center
 centerpoint
 
Coord3D u
 three unit vectors u, v and w forming a right-handed orthornormal basis
 
Coord3D v
 
Coord3D w
 
Coord3D extent
 half the dimension in each of the u, v, and w directions
 

Detailed Description

template<typename Real>
class dyno::TOrientedBox3D< Real >

Definition at line 745 of file Primitive3D.h.

Member Typedef Documentation

◆ Coord2D

template<typename Real>
typedef Vector<Real, 2> dyno::TOrientedBox3D< Real >::Coord2D

Definition at line 748 of file Primitive3D.h.

◆ Coord3D

template<typename Real>
typedef Vector<Real, 3> dyno::TOrientedBox3D< Real >::Coord3D

Definition at line 749 of file Primitive3D.h.

◆ Matrix3D

template<typename Real>
typedef SquareMatrix<Real, 3> dyno::TOrientedBox3D< Real >::Matrix3D

Definition at line 750 of file Primitive3D.h.

Constructor & Destructor Documentation

◆ TOrientedBox3D() [1/4]

template<typename Real>
DYN_FUNC dyno::TOrientedBox3D< Real >::TOrientedBox3D ( )

Definition at line 4086 of file Primitive3D.inl.

Here is the caller graph for this function:

◆ TOrientedBox3D() [2/4]

template<typename Real>
DYN_FUNC dyno::TOrientedBox3D< Real >::TOrientedBox3D ( const Coord3D c,
const Coord3D u_t,
const Coord3D v_t,
const Coord3D w_t,
const Coord3D ext )

construct an oriented bounding box, gurantee u_t, v_t and w_t are unit vectors and form right-handed orthornormal basis

Parameters
ccenterpoint
u_t
v_t
w_t
exthalf the dimension in each of the u, v, and w directions
Returns
DYN_FUNC

Definition at line 4097 of file Primitive3D.inl.

◆ TOrientedBox3D() [3/4]

template<typename Real>
DYN_FUNC dyno::TOrientedBox3D< Real >::TOrientedBox3D ( const Coord3D c,
const Quat< Real > rot,
const Coord3D ext )

Definition at line 4107 of file Primitive3D.inl.

Here is the call graph for this function:

◆ TOrientedBox3D() [4/4]

template<typename Real>
DYN_FUNC dyno::TOrientedBox3D< Real >::TOrientedBox3D ( const TOrientedBox3D< Real > & obb)

Member Function Documentation

◆ aabb()

template<typename Real>
DYN_FUNC TAlignedBox3D< Real > dyno::TOrientedBox3D< Real >::aabb ( )

Definition at line 4234 of file Primitive3D.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ edge()

template<typename Real>
DYN_FUNC TSegment3D< Real > dyno::TOrientedBox3D< Real >::edge ( const int i) const

Definition at line 4140 of file Primitive3D.inl.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ face()

template<typename Real>
DYN_FUNC TRectangle3D< Real > dyno::TOrientedBox3D< Real >::face ( const int i) const

Definition at line 4150 of file Primitive3D.inl.

Here is the caller graph for this function:

◆ isValid()

template<typename Real>
DYN_FUNC bool dyno::TOrientedBox3D< Real >::isValid ( )

Definition at line 4200 of file Primitive3D.inl.

Here is the call graph for this function:

◆ point_intersect() [1/3]

template<typename Real>
DYN_FUNC bool dyno::TOrientedBox3D< Real >::point_intersect ( const TOrientedBox3D< Real > & OBB,
Coord3D & interNorm,
Real & interDist,
Coord3D & p1,
Coord3D & p2 ) const

Definition at line 4252 of file Primitive3D.inl.

Here is the call graph for this function:

◆ point_intersect() [2/3]

template<typename Real>
DYN_FUNC bool dyno::TOrientedBox3D< Real >::point_intersect ( const TTet3D< Real > & TET,
Coord3D & interNorm,
Real & interDist,
Coord3D & p1,
Coord3D & p2 ) const

Definition at line 4408 of file Primitive3D.inl.

Here is the call graph for this function:

◆ point_intersect() [3/3]

template<typename Real>
DYN_FUNC bool dyno::TOrientedBox3D< Real >::point_intersect ( const TTriangle3D< Real > & TRI,
Coord3D & interNorm,
Real & interDist,
Coord3D & p1,
Coord3D & p2 ) const

Definition at line 4541 of file Primitive3D.inl.

Here is the call graph for this function:

◆ rotate()

template<typename Real>
DYN_FUNC TOrientedBox3D< Real > dyno::TOrientedBox3D< Real >::rotate ( const Matrix3D & mat)

Definition at line 4220 of file Primitive3D.inl.

Here is the call graph for this function:

◆ vertex()

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TOrientedBox3D< Real >::vertex ( const int i) const

Definition at line 4129 of file Primitive3D.inl.

Here is the caller graph for this function:

◆ volume()

template<typename Real>
DYN_FUNC Real dyno::TOrientedBox3D< Real >::volume ( )

Definition at line 4194 of file Primitive3D.inl.

Member Data Documentation

◆ center

template<typename Real>
Coord3D dyno::TOrientedBox3D< Real >::center

centerpoint

Definition at line 794 of file Primitive3D.h.

◆ extent

template<typename Real>
Coord3D dyno::TOrientedBox3D< Real >::extent

half the dimension in each of the u, v, and w directions

Definition at line 805 of file Primitive3D.h.

◆ u

template<typename Real>
Coord3D dyno::TOrientedBox3D< Real >::u

three unit vectors u, v and w forming a right-handed orthornormal basis

Definition at line 800 of file Primitive3D.h.

◆ v

template<typename Real>
Coord3D dyno::TOrientedBox3D< Real >::v

Definition at line 800 of file Primitive3D.h.

◆ w

template<typename Real>
Coord3D dyno::TOrientedBox3D< Real >::w

Definition at line 800 of file Primitive3D.h.


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