13 #ifndef __GEO_ImplicitBasicSurfaces_h__
14 #define __GEO_ImplicitBasicSurfaces_h__
24 template <VEX_Precision PREC>
47 template <VEX_Precision PREC>
71 template <VEX_Precision PREC>
91 template <VEX_Precision PREC>
114 template <VEX_Precision PREC>
138 template <VEX_Precision PREC>
162 template <VEX_Precision PREC>
185 template <VEX_Precision PREC>
212 template <VEX_Precision PREC>
239 template <VEX_Precision PREC>
263 template <VEX_Precision PREC>
286 #endif // __GEO_ImplicitBasicSurfaces_h__
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXfloat< PREC > *height_grad, VEXfloat< PREC > *r1_grad, VEXfloat< PREC > *r2_grad) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXfloat< PREC > *height_grad, VEXfloat< PREC > *radius_grad) const
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXfloat< PREC > *height_grad, VEXfloat< PREC > *r1_grad, VEXfloat< PREC > *r2_grad) const
Axis-aligned bounding box (AABB).
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXfloat< PREC > *ra_grad, VEXfloat< PREC > *rb_grad) const
GEO_ImplicitCylinder(VEXfloat< PREC > height, VEXfloat< PREC > radius, bool invert=false)
GLuint GLsizei GLsizei * length
GEO_ImplicitEllipsoid(const VEXvec3< PREC > &radii, bool invert=false)
GEO_ImplicitTorus(VEXfloat< PREC > ra, VEXfloat< PREC > rb, bool invert=false)
typename VEX_PrecisionResolver< P >::vec3_type VEXvec3
GEO_ImplicitBox(const VEXvec3< PREC > &size, bool invert=false)
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXfloat< PREC > *radius_grad) const
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXvec3< PREC > *size_grad) const
GEO_ImplicitPlane(bool invert=false)
GLint GLsizei GLsizei height
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad) const
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXvec3< PREC > *radii_grad) const
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXvec3< PREC > *size_grad, VEXfloat< PREC > *radius_grad) const
GEO_ImplicitCapsule(VEXfloat< PREC > height, VEXfloat< PREC > r1, VEXfloat< PREC > r2, bool invert=false)
GEO_ImplicitLink(VEXfloat< PREC > r1, VEXfloat< PREC > r2, VEXfloat< PREC > length, bool invert=false)
typename VEX_PrecisionResolver< P >::float_type VEXfloat
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXfloat< PREC > *height_grad, VEXfloat< PREC > *radius_grad) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > eval(const VEXvec3< PREC > p, VEXvec3< PREC > *grad, VEXfloat< PREC > *length_grad, VEXfloat< PREC > *r1_grad, VEXfloat< PREC > *r2_grad) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
GEO_ImplicitSegment(VEXfloat< PREC > height, VEXfloat< PREC > radius, bool invert=false)
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const
GEO_ImplicitRoundedBox(const VEXvec3< PREC > &size, VEXfloat< PREC > radius, bool invert=false)
GEO_ImplicitBall(VEXfloat< PREC > radius, bool invert=false)
GEO_ImplicitCappedCone(VEXfloat< PREC > height, VEXfloat< PREC > r1, VEXfloat< PREC > r2, bool invert=false)
VEXfloat< PREC > operator()(const VEXvec3< PREC > p) const