PeriDyno 1.0.0
Loading...
Searching...
No Matches
ComputeGeometry.h File Reference
#include "Platform.h"
#include "Matrix.h"
#include "Vector/Vector3D.h"
#include "Vector.h"
#include "ComputeGeometry.inl"
Include dependency graph for ComputeGeometry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  dyno
 This is an implementation of AdditiveCCD based on peridyno.
 
namespace  dyno::cgeo
 

Functions

template<typename T>
DYN_FUNC void dyno::cgeo::Swap (T &a, T &b)
 
DYN_FUNC float dyno::cgeo::Dot (Vec3f const &U, Vec3f const &V)
 
DYN_FUNC float dyno::cgeo::Dot (Vec2f const &U, Vec2f const &V)
 
DYN_FUNC Vec2f dyno::cgeo::Perp (Vec2f const &v)
 
DYN_FUNC float dyno::cgeo::DotPerp (Vec2f const &v0, Vec2f const &v1)
 
DYN_FUNC Vec3f dyno::cgeo::Cross (Vec3f const &U, Vec3f const &V)
 
DYN_FUNC float dyno::cgeo::DotCross (Vec3f const &U, Vec3f const &V, Vec3f const &W)
 
DYN_FUNC bool dyno::cgeo::isOverLap (float &c0, float &c1, float a0, float a1, float b0, float b1)
 
DYN_FUNC bool dyno::cgeo::Sign (Vec3f const &n, Vec3f const &p0, Vec3f const &p1, Vec3f const &p2)
 
DYN_FUNC Vec3f dyno::cgeo::getProjectionVF (Vec3f p, Vec3f a0, Vec3f a1, Vec3f a2)
 
DYN_FUNC Vec3f dyno::cgeo::getDirectionVF (Vec3f p, Vec3f a0, Vec3f a1, Vec3f a2)
 
DYN_FUNC float dyno::cgeo::getDistanceVF (Vec3f p, Vec3f a0, Vec3f a1, Vec3f a2)
 
DYN_FUNC bool dyno::cgeo::isInNarrowBand (Vec3f b0, Vec3f b1, Vec3f b2, Vec3f b3, Vec3f a0, Vec3f a1, Vec3f a2, float d)
 
DYN_FUNC bool dyno::cgeo::isConPolyOverLap2D (Vec3f face_n, int n_a, Vec3f *a, int n_b, Vec3f *b)
 
DYN_FUNC bool dyno::cgeo::isIntrTri2Tet (Vec3f a0, Vec3f a1, Vec3f a2, Vec3f b0, Vec3f b1, Vec3f b2, Vec3f b3)
 
DYN_FUNC bool dyno::cgeo::isIntrTri2Tet (Vec3f a0, Vec3f a1, Vec3f a2, Vec3f b1, Vec3f b2, Vec3f b3)
 
DYN_FUNC bool dyno::cgeo::isInTet (Vec3f p, Vec3f b0, Vec3f b1, Vec3f b2, Vec3f b3)
 
DYN_FUNC float dyno::cgeo::getOverLapBoxAreaInPoly2D (Vec3f face_n, int n_a, Vec3f *a, int n_b, Vec3f *b)
 
DYN_FUNC float dyno::cgeo::getTriBoxAreaInTet (Vec3f a0, Vec3f a1, Vec3f a2, Vec3f b0, Vec3f b1, Vec3f b2, Vec3f b3)
 
DYN_FUNC float dyno::cgeo::getVolume (Vec3f b0, Vec3f b1, Vec3f b2, Vec3f b3)
 
DYN_FUNC bool dyno::cgeo::getBarycentric (Vec3f &bary, Vec3f p, Vec3f b0, Vec3f b1, Vec3f b2, Vec3f b3)
 
DYN_FUNC int dyno::cgeo::getIntersection (float &t0, float &t1, Vec2f a0, Vec2f a1, Vec2f b0, Vec2f b1, Vec2f b2)
 
DYN_FUNC int dyno::cgeo::getIntersection (Vec3f &p0, Vec3f &p1, Vec3f a0, Vec3f a1, Vec3f a2, Vec3f b0, Vec3f b1, Vec3f b2)
 
DYN_FUNC Vec2f dyno::cgeo::projectWithParall (Vec3f p, Vec3f a0, Vec3f a1, Vec3f a2, Vec3f a3)
 
DYN_FUNC int dyno::cgeo::intrSegWithPlane (Vec3f *q, Vec3f oA, Vec3f nA, Vec3f b0, Vec3f b1)
 
DYN_FUNC int dyno::cgeo::intrTriWithPlane (Vec3f *q, Vec3f oA, Vec3f nA, Vec3f b0, Vec3f b1, Vec3f b2)
 
DYN_FUNC int dyno::cgeo::intrTetWithPlane (Vec3f *q, Vec3f oA, Vec3f nA, Vec3f b0, Vec3f b1, Vec3f b2, Vec3f b3)
 
DYN_FUNC int dyno::cgeo::intrBoxWithPlane (Vec3f *q, Vec3f oA, Vec3f nA, Vec3f center, Vec3f halfU, Vec3f halfV, Vec3f halfW)
 
DYN_FUNC int dyno::cgeo::intrPolyWithLine (float *t, int n, Vec2f *p, Vec2f a0, Vec2f a1)
 
DYN_FUNC int dyno::cgeo::intrPolyWithTri (Vec3f *q, int n, Vec3f *p, Vec3f a0, Vec3f a1, Vec3f a2)
 
DYN_FUNC int dyno::cgeo::intrPolyWithRect (Vec3f *q, int n, Vec3f *p, Vec3f a0, Vec3f a1, Vec3f a2, Vec3f a3)