![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cCylinder.h>
Public Member Functions | |
cCylinder () | |
cCylinder (const cVector3f &v1, const cVector3f &v2) | |
void | Update () |
bool | GetIntersectWithTri (const cTriangle3f &Tri, OUT cVector3f &rvCollisionPoint, OUT DVALUE_t &rfDistToCollision) const |
UNITTEST_FRIEND (cCylinder) | |
![]() | |
cSegment3f () noexcept | |
cSegment3f (const cVector3f &v1, const cVector3f &v2) noexcept | |
cVector3f | get_Center () const noexcept |
DVALUE_t | get_Width () const noexcept |
DVALUE_t | get_Height () const noexcept |
DVALUE_t | get_HeightMax () const noexcept |
DVALUE_t | get_Depth () const noexcept |
cVector3f | get_Delta () const noexcept |
enum AXIS_TYPE | get_LargestAxis () const noexcept |
DVALUE_t | get_MaxDelta () const noexcept |
DVALUE_t | get_Diameter () const |
DVALUE_t | get_Radius () const |
DVALUE_t | GetDistanceTo (const cVector3f &v) const |
bool | operator== (const cSegment3f &line) const |
operator const DVALUE_t * () const noexcept | |
operator DVALUE_t * () noexcept | |
void | SetMin () noexcept |
void | SetMax () noexcept |
void | SetOne () noexcept |
void | SetZero () noexcept |
void | SetRay (const cVector3f &vOrigin, const cVector3f &vDir, DVALUE_t fDist) |
void | Scale (DVALUE_t fScale) |
Change operators. More... | |
void | ScaleVect (const cVector3f &vScale) |
void | ScaleY (DVALUE_t fScaleY) |
void | Offset (const cVector3f &vOffset) |
void | Grow (const cVector3f &vOffset) |
void | GrowN (DVALUE_t nValue) |
ITERATE_t | v_SetLine (const cVariant &vArgs, ITERATE_t i=0) |
void | v_GetLine (cVariant &vArgs) const |
UNITTEST_FRIEND (cSegment3) | |
Static Public Member Functions | |
static bool GRAYCALL | GetLowestRoot (DVALUE_t a, DVALUE_t b, DVALUE_t c, DVALUE_t maxR, OUT DVALUE_t &rfRoot) |
Public Attributes | |
cVector3f | m_vDir |
derived values from cSegment3f More... | |
cVector3f | m_vDirNorm |
normalized vector of m_vDir. More... | |
![]() | |
cVector3f | m_vMin |
a vertex on the line segment More... | |
cVector3f | m_vMax |
Additional Inherited Members | |
![]() | |
typedef float | DVALUE_t |
Dimension value type. More... | |
a 3d cylinder of unit radius 1. Used for sphere sweep collision detection with triangles. cSegment3f = center ray starting at point (m_vMin) and proceeding to m_vMax in 3d space.
|
inline |
ASSUME m_vMin,m_vMax are undefined.
bool GrayLib::cCylinder::GetIntersectWithTri | ( | const cTriangle3f & | Tri, |
OUT cVector3f & | rvCollisionPoint, | ||
OUT DVALUE_t & | rfDistToCollision | ||
) | const |
Does the cylinder of unit radius 1 collide with the triangle?
|
static |
check if solution exists. Called by GetIntersectWithTri()
GrayLib::cCylinder::UNITTEST_FRIEND | ( | cCylinder | ) |
|
inline |
if cSegment3f changes call this.
cVector3f GrayLib::cCylinder::m_vDir |
derived values from cSegment3f
vector of move. m_vMax - m_vMin
cVector3f GrayLib::cCylinder::m_vDirNorm |
normalized vector of m_vDir.