pimathvector.h mul
This commit is contained in:
@@ -149,6 +149,14 @@ public:
|
||||
PIMV_FOR tv += c[i] * v[i];
|
||||
return tv;
|
||||
}
|
||||
_CVector mul(const _CVector & v) const {
|
||||
_CVector tv(*this);
|
||||
PIMV_FOR tv[i] *= v[i];
|
||||
return tv;
|
||||
}
|
||||
_CVector mul(const Type & v) const {
|
||||
return (*this) * v;
|
||||
}
|
||||
|
||||
PIMathMatrixT<1, Size, Type> transposed() const {
|
||||
PIMathMatrixT<1, Size, Type> ret;
|
||||
@@ -172,6 +180,22 @@ public:
|
||||
return tv;
|
||||
}
|
||||
|
||||
static _CVector cross(const _CVector & v1, const _CVector & v2) {
|
||||
return v1.cross(v2);
|
||||
}
|
||||
static _CVector dot(const _CVector & v1, const _CVector & v2) {
|
||||
return v1.dot(v2);
|
||||
}
|
||||
static _CVector mul(const _CVector & v1, const _CVector & v2) {
|
||||
return v1.mul(v2);
|
||||
}
|
||||
static _CVector mul(const Type & v1, const _CVector & v2) {
|
||||
return v2 * v1;
|
||||
}
|
||||
static _CVector mul(const _CVector & v1, const Type & v2) {
|
||||
return v1 * v2;
|
||||
}
|
||||
|
||||
private:
|
||||
Type c[Size];
|
||||
|
||||
@@ -372,6 +396,15 @@ public:
|
||||
PIMV_FOR tv += c[i] * v[i];
|
||||
return tv;
|
||||
}
|
||||
_CVector mul(const _CVector & v) const {
|
||||
assert(c.size() == v.size());
|
||||
_CVector tv(*this);
|
||||
PIMV_FOR tv[i] *= v[i];
|
||||
return tv;
|
||||
}
|
||||
_CVector mul(const Type & v) const {
|
||||
return (*this) * v;
|
||||
}
|
||||
|
||||
Type distToLine(const _CVector & lp0, const _CVector & lp1) {
|
||||
assert(c.size() == lp0.size());
|
||||
@@ -388,9 +421,24 @@ public:
|
||||
inline Type * data() {return c.data();}
|
||||
inline const Type * data() const {return c.data();}
|
||||
|
||||
|
||||
static _CVector cross(const _CVector & v1, const _CVector & v2) {
|
||||
return v1.cross(v2);
|
||||
}
|
||||
static _CVector dot(const _CVector & v1, const _CVector & v2) {
|
||||
return v1.dot(v2);
|
||||
}
|
||||
static _CVector mul(const _CVector & v1, const _CVector & v2) {
|
||||
return v1.mul(v2);
|
||||
}
|
||||
static _CVector mul(const Type & v1, const _CVector & v2) {
|
||||
return v2 * v1;
|
||||
}
|
||||
static _CVector mul(const _CVector & v1, const Type & v2) {
|
||||
return v1 * v2;
|
||||
}
|
||||
private:
|
||||
PIVector<Type> c;
|
||||
|
||||
};
|
||||
|
||||
template<typename Type>
|
||||
|
||||
9
main.cpp
9
main.cpp
@@ -40,11 +40,8 @@ inline PIByteArray & operator >>(PIByteArray & ba, MM & v) {piCout << ">>"
|
||||
|
||||
|
||||
int main() {
|
||||
PIMathMatrixd m = PIMathMatrixd::identity(5,5);
|
||||
// m.fill(9);
|
||||
//PIMathMatrixd m2 = PIMathMatrixd::identity(3,4);
|
||||
piCout << m;
|
||||
m.resize(3,3);
|
||||
piCout << m;
|
||||
PIMathVectorT3d v3 = createVectorT3d(1,2,3);
|
||||
PIMathVectord v(v3);
|
||||
piCout << v;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user