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;
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]);
bool operator<(const BCAnimationCurve &lhs, const BCAnimationCurve &rhs)
ATTR_WARN_UNUSED_RESULT const BMVert * v2
ATTR_WARN_UNUSED_RESULT const BMVert * v
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define SIMD_FORCE_INLINE
SIMD_FORCE_INLINE void clear()
clear the array, deallocated memory. Generally it is better to use array.resize(0),...
void copyFromArray(const btAlignedObjectArray &otherArray)
SIMD_FORCE_INLINE int size() const
return the number of elements in the array
SIMD_FORCE_INLINE void resize(int newsize, const T &fillData=T())
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)
VecBase< float, D > normalize(VecOp< float, D >) RET
ccl_device_inline Interval< T1 > operator/=(ccl_private Interval< T1 > &interval, const T2 f)
ccl_device_inline float2 operator*(const float2 a, const float2 b)
ccl_device_inline float2 operator/(float f, const float2 a)
ccl_device_inline float2 operator+=(float2 &a, const float2 b)
ccl_device_inline float3 operator-=(float3 &a, const float3 b)