32#include "GuVecConvex.h"
33#include "foundation/PxVecTransform.h"
40 class ConvexHullNoScaleV;
43 template <
typename Convex>
struct ConvexGeom {
typedef Convex Type; };
55 PX_FORCE_INLINE bool getMarginIsRadius()
const {
return mConvex.getMarginIsRadius(); }
58 template <
typename Convex>
59 PX_FORCE_INLINE const Convex& getConvex()
const {
return static_cast<const Convex&
>(mConvex); }
61 virtual aos::Vec3V supportPoint(
const PxI32 index)
const {
return doVirtualSupportPoint(index); }
62 virtual aos::Vec3V support(
const aos::Vec3VArg v)
const {
return doVirtualSupport(v); }
63 virtual aos::Vec3V support(
const aos::Vec3VArg dir, PxI32& index)
const {
return doVirtualSupport(dir, index); }
64 virtual aos::FloatV getSweepMargin()
const {
return doVirtualGetSweepMargin(); }
73 aos::Vec3V doVirtualSupportPoint(
const PxI32 index)
const {
return supportPoint(index); }
74 aos::Vec3V doVirtualSupport(
const aos::Vec3VArg v)
const {
return support(v); }
75 aos::Vec3V doVirtualSupport(
const aos::Vec3VArg dir, PxI32& index)
const {
return support(dir, index); }
76 aos::FloatV doVirtualGetSweepMargin()
const {
return getSweepMargin(); }
82 template <
typename Convex>
94 aos::Vec3V support(
const aos::Vec3VArg v)
const {
return getConvex<Convex>().supportLocal(v); }
95 aos::Vec3V support(
const aos::Vec3VArg dir, PxI32& index)
const {
return getConvex<Convex>().supportLocal(dir, index); }
97 virtual aos::Vec3V getCenter()
const {
return getConvex<Convex>().getCenter(); }
115 template <
typename Convex>
120 aos::V3Transpose(mAToBTransposed.rot.col0, mAToBTransposed.rot.col1, mAToBTransposed.rot.col2);
124 PX_FORCE_INLINE aos::Vec3V supportPoint(
const PxI32 index)
const {
return mAToB.transform(getConvex<Convex>().supportPoint(index)); }
125 aos::Vec3V support(
const aos::Vec3VArg v)
const {
return getConvex<Convex>().supportRelative(v, mAToB, mAToBTransposed); }
126 aos::Vec3V support(
const aos::Vec3VArg dir, PxI32& index)
const {
return getConvex<Convex>().supportRelative(dir, mAToB, mAToBTransposed, index); }
128 virtual aos::Vec3V getCenter()
const {
return mAToB.transform(getConvex<Convex>().getCenter()); }
Definition GuVecBox.h:102
Definition GuVecConvexHullNoScale.h:41
Definition GuVecConvexHull.h:184
Definition GuVecConvex.h:58
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
#define PX_INLINE
Definition PxPreprocessor.h:320
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
Definition GuGJKType.h:43
Definition GuGJKType.h:49
Definition GuGJKType.h:84
Definition GuGJKType.h:117
Definition PxVecMathAoSScalar.h:90
Definition PxVecMathAoSScalar.h:52
Definition PxVecMathAoSScalar.h:77