7#ifndef btReducedVectors_h
8#define btReducedVectors_h
61 for (
int i = 0; i < old_indices.
size(); ++i)
66 m_vecs.push_back(old_vecs[i]);
115 for (
int i = 0; i <
m_indices.size(); ++i)
171 for (
int i = 0; i <
m_indices.size(); ++i)
183 return !(*
this == other);
202 for (
int i = 0; i <
m_indices.size(); ++i)
220 for (
int i = 0; i <
m_indices.size(); ++i)
229 return this->
dot(*
this);
249 for (
int i = 0; i <
m_indices.size(); ++i)
259 std::vector<TwoInts> tuples;
260 for (
int i = 0; i <
m_indices.size(); ++i)
265 tuples.push_back(ti);
267 std::sort(tuples.begin(), tuples.end());
270 for (
int i = 0; i < tuples.size(); ++i)
283 for (
int i = 0; i <
v.m_indices.size(); ++i)
285 ret.m_indices.push_back(
v.m_indices[i]);
286 ret.m_vecs.push_back(s*
v.m_vecs[i]);
ATTR_WARN_UNUSED_RESULT const BMVert * v2
ATTR_WARN_UNUSED_RESULT const BMVert * v
SIMD_FORCE_INLINE btReducedVector & operator/=(btReducedVector &v, btScalar s)
SIMD_FORCE_INLINE btReducedVector & operator+=(btReducedVector &v1, const btReducedVector &v2)
SIMD_FORCE_INLINE btReducedVector operator*(const btReducedVector &v, btScalar s)
bool operator<(const TwoInts &A, const TwoInts &B)
SIMD_FORCE_INLINE btReducedVector & operator-=(btReducedVector &v1, const btReducedVector &v2)
SIMD_FORCE_INLINE btReducedVector operator/(const btReducedVector &v, btScalar s)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
SIMD_FORCE_INLINE int size() const
return the number of elements in the array
SIMD_FORCE_INLINE 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)
local_group_size(16, 16) .push_constant(Type b