16 template <
typename Real>
30 int& positiveDirection,
int& negativeDirection)
override;
37 template <
typename Real>
45 template <
typename Real>
47 int& positiveDirection,
int& negativeDirection)
49 Real minValue = std::numeric_limits<Real>::max(), maxValue = -minValue;
50 negativeDirection = -1;
51 positiveDirection = -1;
53 auto vertexPool = this->
mPolytope.GetVertexPool();
54 for (
auto i : this->
mPolytope.GetUniqueIndices())
57 Real dot =
Dot(direction, diff);
60 negativeDirection = i;
65 positiveDirection = i;
Vector3< Real > mCentroid
ExtremalQuery3PRJ(Polyhedron3< Real > const &polytope)
virtual void GetExtremeVertices(Vector3< Real > const &direction, int &positiveDirection, int &negativeDirection) override
DualQuaternion< Real > Dot(DualQuaternion< Real > const &d0, DualQuaternion< Real > const &d1)
Polyhedron3< Real > const & mPolytope
ExtremalQuery3PRJ & operator=(ExtremalQuery3PRJ const &)=delete