7#ifndef btReducedVectors_h
8#define btReducedVectors_h
61 for (
int i = 0; i < old_indices.
size(); ++i)
183 return !(*
this == other);
229 return this->
dot(*
this);
259 std::vector<TwoInts> tuples;
270 for (
size_t i = 0; i < tuples.size(); ++i)
void sort(btMatrix3x3 &U, btVector3 &sigma, btMatrix3x3 &V, int t)
Helper function of 3X3 SVD for sorting singular values.
btReducedVector operator/(const btReducedVector &v, btScalar s)
btReducedVector & operator/=(btReducedVector &v, btScalar s)
btReducedVector & operator-=(btReducedVector &v1, const btReducedVector &v2)
btReducedVector operator*(const btReducedVector &v, btScalar s)
bool operator<(const TwoInts &A, const TwoInts &B)
btReducedVector & operator+=(btReducedVector &v1, const btReducedVector &v2)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
int size() const
return the number of elements in the array
void copyFromArray(const btAlignedObjectArray &otherArray)
void resize(int newsize, const T &fillData=T())
void clear()
clear the array, deallocated memory. Generally it is better to use array.resize(0),...
void push_back(const T &_Val)
btAlignedObjectArray< int > m_indices
btReducedVector operator-(const btReducedVector &other)
btReducedVector proj(const btReducedVector &other) const
btReducedVector operator+(const btReducedVector &other)
bool operator==(const btReducedVector &other) const
btReducedVector(int sz, const btAlignedObjectArray< int > &indices, const btAlignedObjectArray< btVector3 > &vecs)
btScalar dot(const btAlignedObjectArray< btVector3 > &other) const
btAlignedObjectArray< btVector3 > m_vecs
btReducedVector operator-()
bool operator!=(const btReducedVector &other) const
btScalar dot(const btReducedVector &other) const
bool testMultiply() const
btReducedVector & operator=(const btReducedVector &other)