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

0D geometric primitive in three-dimensional space More...

#include <Primitive3D.h>

Collaboration diagram for dyno::TPoint3D< Real >:

Public Types

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

Public Member Functions

DYN_FUNC TPoint3D ()
 
DYN_FUNC TPoint3D (const Real &c0, const Real &c1, const Real &c2)
 
DYN_FUNC TPoint3D (const TPoint3D &pt)
 
DYN_FUNC TPoint3Doperator= (const Coord3D &p)
 
DYN_FUNC TPoint3D (const Real &val)
 
DYN_FUNC TPoint3D (const Coord3D &pos)
 
DYN_FUNC TPoint3D< Realproject (const TLine3D< Real > &line) const
 project a point onto linear components – lines, rays and segments
 
DYN_FUNC TPoint3D< Realproject (const TRay3D< Real > &ray) const
 
DYN_FUNC TPoint3D< Realproject (const TSegment3D< Real > &segment) const
 
DYN_FUNC TPoint3D< Realproject (const TPlane3D< Real > &plane) const
 project a point onto planar components – planes, triangles and disks
 
DYN_FUNC TPoint3D< Realproject (const TTriangle3D< Real > &triangle) const
 
DYN_FUNC TPoint3D< Realproject (const TRectangle3D< Real > &rectangle) const
 
DYN_FUNC TPoint3D< Realproject (const TDisk3D< Real > &disk) const
 
DYN_FUNC TPoint3D< Realproject (const TSphere3D< Real > &sphere) const
 project a point onto polyhedra components – tetrahedra, spheres and oriented bounding boxes
 
DYN_FUNC TPoint3D< Realproject (const TCapsule3D< Real > &capsule) const
 
DYN_FUNC TPoint3D< Realproject (const TTet3D< Real > &tet) const
 
DYN_FUNC TPoint3D< Realproject (const TAlignedBox3D< Real > &abox) const
 
DYN_FUNC TPoint3D< Realproject (const TOrientedBox3D< Real > &obb) const
 
DYN_FUNC TPoint3D< Realproject (const TSphere3D< Real > &sphere, Bool &bInside) const
 
DYN_FUNC TPoint3D< Realproject (const TCapsule3D< Real > &capsule, Bool &bInside) const
 
DYN_FUNC TPoint3D< Realproject (const TTet3D< Real > &tet, Bool &bInside) const
 
DYN_FUNC TPoint3D< Realproject (const TTet3D< Real > &tet, Bool &bInside, int *idx) const
 
DYN_FUNC TPoint3D< Realproject (const TAlignedBox3D< Real > &abox, Bool &bInside) const
 
DYN_FUNC TPoint3D< Realproject (const TOrientedBox3D< Real > &obb, Bool &bInside) const
 
DYN_FUNC Real distance (const TPoint3D< Real > &pt) const
 
DYN_FUNC Real distance (const TLine3D< Real > &line) const
 
DYN_FUNC Real distance (const TRay3D< Real > &ray) const
 
DYN_FUNC Real distance (const TSegment3D< Real > &segment) const
 
DYN_FUNC Real distance (const TPlane3D< Real > &plane) const
 compute the signed distance to 2D geometric primitives
 
DYN_FUNC Real distance (const TTriangle3D< Real > &triangle) const
 
DYN_FUNC Real distance (const TRectangle3D< Real > &rectangle) const
 
DYN_FUNC Real distance (const TDisk3D< Real > &disk) const
 
DYN_FUNC Real distance (const TSphere3D< Real > &sphere) const
 compute signed distance to 3D geometric primitives
 
DYN_FUNC Real distance (const TCapsule3D< Real > &capsule) const
 
DYN_FUNC Real distance (const TTet3D< Real > &tet) const
 
DYN_FUNC Real distance (const TAlignedBox3D< Real > &abox) const
 
DYN_FUNC Real distance (const TOrientedBox3D< Real > &obb) const
 
DYN_FUNC Real distanceSquared (const TPoint3D< Real > &pt) const
 
DYN_FUNC Real distanceSquared (const TLine3D< Real > &line) const
 
DYN_FUNC Real distanceSquared (const TRay3D< Real > &ray) const
 
DYN_FUNC Real distanceSquared (const TSegment3D< Real > &segment) const
 
DYN_FUNC Real distanceSquared (const TPlane3D< Real > &plane) const
 return squared distance from a point to 3D geometric primitives
 
DYN_FUNC Real distanceSquared (const TTriangle3D< Real > &triangle) const
 
DYN_FUNC Real distanceSquared (const TRectangle3D< Real > &rectangle) const
 
DYN_FUNC Real distanceSquared (const TDisk3D< Real > &disk) const
 
DYN_FUNC Real distanceSquared (const TSphere3D< Real > &sphere) const
 return squared distance from a point to 3D geometric primitives
 
DYN_FUNC Real distanceSquared (const TCapsule3D< Real > &capsule) const
 
DYN_FUNC Real distanceSquared (const TTet3D< Real > &tet) const
 
DYN_FUNC Real distanceSquared (const TAlignedBox3D< Real > &abox) const
 
DYN_FUNC Real distanceSquared (const TOrientedBox3D< Real > &obb) const
 
DYN_FUNC bool inside (const TLine3D< Real > &line) const
 check whether a point strictly lies inside (excluding boundary) a 1D geometric primitive
 
DYN_FUNC bool inside (const TRay3D< Real > &ray) const
 
DYN_FUNC bool inside (const TSegment3D< Real > &segment) const
 
DYN_FUNC bool inside (const TPlane3D< Real > &plane) const
 check whether a point strictly lies inside (excluding boundary) a 2D geometric primitive
 
DYN_FUNC bool inside (const TTriangle3D< Real > &triangle) const
 
DYN_FUNC bool inside (const TRectangle3D< Real > &rectangle) const
 
DYN_FUNC bool inside (const TDisk3D< Real > &disk) const
 
DYN_FUNC bool inside (const TSphere3D< Real > &sphere) const
 check whether a point strictly lies inside (excluding boundary) a 3D geometric primitive
 
DYN_FUNC bool inside (const TCapsule3D< Real > &capsule) const
 
DYN_FUNC bool inside (const TTet3D< Real > &tet) const
 
DYN_FUNC bool inside (const TAlignedBox3D< Real > &box) const
 
DYN_FUNC bool inside (const TOrientedBox3D< Real > &obb) const
 
DYN_FUNC const TSegment3D< Realoperator- (const TPoint3D< Real > &pt) const
 

Public Attributes

Coord3D origin
 

Detailed Description

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

0D geometric primitive in three-dimensional space

Definition at line 108 of file Primitive3D.h.

Member Typedef Documentation

◆ Coord2D

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

Definition at line 111 of file Primitive3D.h.

◆ Coord3D

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

Definition at line 112 of file Primitive3D.h.

Constructor & Destructor Documentation

◆ TPoint3D() [1/5]

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

Definition at line 9 of file Primitive3D.inl.

Here is the caller graph for this function:

◆ TPoint3D() [2/5]

template<typename Real>
DYN_FUNC dyno::TPoint3D< Real >::TPoint3D ( const Real & c0,
const Real & c1,
const Real & c2 )

Definition at line 21 of file Primitive3D.inl.

◆ TPoint3D() [3/5]

template<typename Real>
DYN_FUNC dyno::TPoint3D< Real >::TPoint3D ( const TPoint3D< Real > & pt)

Definition at line 33 of file Primitive3D.inl.

Here is the call graph for this function:

◆ TPoint3D() [4/5]

template<typename Real>
DYN_FUNC dyno::TPoint3D< Real >::TPoint3D ( const Real & val)
explicit

Definition at line 15 of file Primitive3D.inl.

◆ TPoint3D() [5/5]

template<typename Real>
DYN_FUNC dyno::TPoint3D< Real >::TPoint3D ( const Coord3D & pos)
explicit

Definition at line 27 of file Primitive3D.inl.

Member Function Documentation

◆ distance() [1/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TAlignedBox3D< Real > & abox) const

Definition at line 580 of file Primitive3D.inl.

◆ distance() [2/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TCapsule3D< Real > & capsule) const

Definition at line 596 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distance() [3/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TDisk3D< Real > & disk) const

Definition at line 557 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distance() [4/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TLine3D< Real > & line) const

Definition at line 506 of file Primitive3D.inl.

◆ distance() [5/13]

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

Definition at line 588 of file Primitive3D.inl.

◆ distance() [6/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TPlane3D< Real > & plane) const

compute the signed distance to 2D geometric primitives

Parameters
plane/triangle/rectangle/diskplanar components
Returns
positive if point resides in the positive side of 2D geometric primitives

Definition at line 524 of file Primitive3D.inl.

◆ distance() [7/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TPoint3D< Real > & pt) const

Definition at line 500 of file Primitive3D.inl.

Here is the caller graph for this function:

◆ distance() [8/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TRay3D< Real > & ray) const

Definition at line 512 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distance() [9/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TRectangle3D< Real > & rectangle) const

Definition at line 548 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distance() [10/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TSegment3D< Real > & segment) const

Definition at line 518 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distance() [11/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TSphere3D< Real > & sphere) const

compute signed distance to 3D geometric primitives

Parameters
sphere/tet/abox/obb3D geometric primitives
Returns
Real negative distance if a point is inside the 3D geometric primitive, otherwise return a positive value

Definition at line 566 of file Primitive3D.inl.

◆ distance() [12/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TTet3D< Real > & tet) const

Definition at line 572 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distance() [13/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distance ( const TTriangle3D< Real > & triangle) const

Definition at line 533 of file Primitive3D.inl.

◆ distanceSquared() [1/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TAlignedBox3D< Real > & abox) const

Definition at line 658 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [2/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TCapsule3D< Real > & capsule) const

Definition at line 676 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [3/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TDisk3D< Real > & disk) const

Definition at line 646 of file Primitive3D.inl.

◆ distanceSquared() [4/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TLine3D< Real > & line) const

Definition at line 610 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [5/13]

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

Definition at line 664 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [6/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TPlane3D< Real > & plane) const

return squared distance from a point to 3D geometric primitives

Parameters
plane/triangle/rectangle/diskplanar components
Returns
DYN_FUNC distanceSquared

Definition at line 628 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [7/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TPoint3D< Real > & pt) const
Here is the caller graph for this function:

◆ distanceSquared() [8/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TRay3D< Real > & ray) const

Definition at line 616 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [9/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TRectangle3D< Real > & rectangle) const

Definition at line 640 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [10/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TSegment3D< Real > & segment) const

Definition at line 622 of file Primitive3D.inl.

◆ distanceSquared() [11/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TSphere3D< Real > & sphere) const

return squared distance from a point to 3D geometric primitives

Parameters
sphere/capsule/tet/abox/obb3D geometric primitives
Returns
Real squared distance

Definition at line 652 of file Primitive3D.inl.

◆ distanceSquared() [12/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TTet3D< Real > & tet) const

Definition at line 670 of file Primitive3D.inl.

Here is the call graph for this function:

◆ distanceSquared() [13/13]

template<typename Real>
DYN_FUNC Real dyno::TPoint3D< Real >::distanceSquared ( const TTriangle3D< Real > & triangle) const

Definition at line 634 of file Primitive3D.inl.

Here is the call graph for this function:

◆ inside() [1/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TAlignedBox3D< Real > & box) const

Definition at line 838 of file Primitive3D.inl.

◆ inside() [2/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TCapsule3D< Real > & capsule) const

Definition at line 793 of file Primitive3D.inl.

Here is the call graph for this function:

◆ inside() [3/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TDisk3D< Real > & disk) const

Definition at line 775 of file Primitive3D.inl.

◆ inside() [4/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TLine3D< Real > & line) const

check whether a point strictly lies inside (excluding boundary) a 1D geometric primitive

Parameters
line/ray/segment1D geometric primitives
Returns
true if a point is inside the geometric primitive, otherwise return false

Definition at line 682 of file Primitive3D.inl.

Here is the caller graph for this function:

◆ inside() [5/12]

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

Definition at line 825 of file Primitive3D.inl.

◆ inside() [6/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TPlane3D< Real > & plane) const

check whether a point strictly lies inside (excluding boundary) a 2D geometric primitive

Parameters
plane/triangle/rectangle/disk2D geometric primitives
Returns
true if a point is inside the geometric primitive, otherwise return false

Definition at line 722 of file Primitive3D.inl.

◆ inside() [7/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TRay3D< Real > & ray) const

Definition at line 693 of file Primitive3D.inl.

◆ inside() [8/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TRectangle3D< Real > & rectangle) const

Definition at line 754 of file Primitive3D.inl.

Here is the call graph for this function:

◆ inside() [9/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TSegment3D< Real > & segment) const

Definition at line 707 of file Primitive3D.inl.

◆ inside() [10/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TSphere3D< Real > & sphere) const

check whether a point strictly lies inside (excluding boundary) a 3D geometric primitive

Parameters
sphere/tet/abox/obb3D geometric primitives
Returns
true if a point is inside the geometric primitive, otherwise return false

Definition at line 787 of file Primitive3D.inl.

◆ inside() [11/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TTet3D< Real > & tet) const

Definition at line 799 of file Primitive3D.inl.

Here is the call graph for this function:

◆ inside() [12/12]

template<typename Real>
DYN_FUNC bool dyno::TPoint3D< Real >::inside ( const TTriangle3D< Real > & triangle) const

Definition at line 733 of file Primitive3D.inl.

◆ operator-()

template<typename Real>
DYN_FUNC const TSegment3D< Real > dyno::TPoint3D< Real >::operator- ( const TPoint3D< Real > & pt) const

Definition at line 852 of file Primitive3D.inl.

Here is the call graph for this function:

◆ operator=()

template<typename Real>
DYN_FUNC TPoint3D< Real > & dyno::TPoint3D< Real >::operator= ( const Coord3D & p)

Definition at line 39 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [1/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TAlignedBox3D< Real > & abox) const

Definition at line 289 of file Primitive3D.inl.

◆ project() [2/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TAlignedBox3D< Real > & abox,
Bool & bInside ) const

Definition at line 432 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [3/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TCapsule3D< Real > & capsule) const

Definition at line 260 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [4/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TCapsule3D< Real > & capsule,
Bool & bInside ) const

Definition at line 368 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [5/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TDisk3D< Real > & disk) const

Definition at line 236 of file Primitive3D.inl.

◆ project() [6/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TLine3D< Real > & line) const

project a point onto linear components – lines, rays and segments

Parameters
line/ray/segmentlinear components
Returns
closest point

Definition at line 46 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [7/18]

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

Definition at line 344 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [8/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TOrientedBox3D< Real > & obb,
Bool & bInside ) const

Definition at line 487 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [9/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TPlane3D< Real > & plane) const

project a point onto planar components – planes, triangles and disks

Parameters
plane/triangle/diskplanar components
Returns
closest point

Definition at line 90 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [10/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TRay3D< Real > & ray) const

Definition at line 57 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [11/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TRectangle3D< Real > & rectangle) const

Definition at line 223 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [12/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TSegment3D< Real > & segment) const

Definition at line 71 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [13/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TSphere3D< Real > & sphere) const

project a point onto polyhedra components – tetrahedra, spheres and oriented bounding boxes

Parameters
sphere/capsule/tet/abox/obbpolyhedra components
Returns
closest point

Definition at line 251 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [14/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TSphere3D< Real > & sphere,
Bool & bInside ) const

Definition at line 357 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [15/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TTet3D< Real > & tet) const

Definition at line 269 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [16/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TTet3D< Real > & tet,
Bool & bInside ) const

Definition at line 378 of file Primitive3D.inl.

◆ project() [17/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TTet3D< Real > & tet,
Bool & bInside,
int * idx ) const

Definition at line 399 of file Primitive3D.inl.

Here is the call graph for this function:

◆ project() [18/18]

template<typename Real>
DYN_FUNC TPoint3D< Real > dyno::TPoint3D< Real >::project ( const TTriangle3D< Real > & triangle) const

Definition at line 100 of file Primitive3D.inl.

Here is the call graph for this function:

Member Data Documentation

◆ origin

template<typename Real>
Coord3D dyno::TPoint3D< Real >::origin

Definition at line 254 of file Primitive3D.h.


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