MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
MatExp Class Reference

#include <matvecexp.h>

Collaboration diagram for MatExp:

Public Member Functions

 MatExp (void)
 
 ~MatExp (void)
 
 MatExp (const MatExp &min)
 
 MatExp (const VecExp &vin)
 
 MatExp (const VecExp &v1, const VecExp &v2)
 
 MatExp (const doublereal &d, const VecExp &v2)
 
 MatExp (const Mat3x3 &ma, const Mat3x3 &mxa)
 
const Mat3x3GetVec (void) const
 
const Mat3x3GetMom (void) const
 
void PutVec (const Mat3x3 &x)
 
void PutMom (const Mat3x3 &x)
 
MatExpoperator= (const MatExp &m)
 
MatExpoperator+= (const MatExp &v)
 
MatExpoperator-= (const MatExp &v)
 
MatExp operator* (const doublereal &d) const
 
MatExp operator/ (const doublereal &d) const
 
VecExp operator* (const VecExp &v) const
 
MatExp operator* (const MatExp &m) const
 
MatExp Transpose (void) const
 
VecExp Ax (void) const
 
std::ostream & Write (std::ostream &out, const char *sFill=" ", const char *sFill2=NULL) const
 

Protected Attributes

Mat3x3 vec
 
Mat3x3 mom
 

Detailed Description

Definition at line 318 of file matvecexp.h.

Constructor & Destructor Documentation

MatExp::MatExp ( void  )
inline

Definition at line 324 of file matvecexp.h.

References NO_OP.

Referenced by operator*(), operator/(), and Transpose().

324  {
325  NO_OP;
326  };
#define NO_OP
Definition: myassert.h:74
MatExp::~MatExp ( void  )
inline

Definition at line 328 of file matvecexp.h.

References NO_OP.

328  {
329  NO_OP;
330  };
#define NO_OP
Definition: myassert.h:74
MatExp::MatExp ( const MatExp min)
inline

Definition at line 332 of file matvecexp.h.

References NO_OP.

332  : vec(min.vec), mom(min.mom) {
333  NO_OP;
334  };
#define NO_OP
Definition: myassert.h:74
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320
MatExp::MatExp ( const VecExp vin)
inline

Definition at line 336 of file matvecexp.h.

References VecExp::GetMom(), VecExp::GetVec(), MatCross, mom, and vec.

336  {
337  vec = Mat3x3(MatCross, vin.GetVec());
338  mom = Mat3x3(MatCross, vin.GetMom());
339  };
const Vec3 & GetVec(void) const
Definition: matvecexp.h:198
const MatCross_Manip MatCross
Definition: matvec3.cc:639
const Vec3 & GetMom(void) const
Definition: matvecexp.h:202
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Here is the call graph for this function:

MatExp::MatExp ( const VecExp v1,
const VecExp v2 
)
inline

Definition at line 341 of file matvecexp.h.

References VecExp::GetMom(), VecExp::GetVec(), MatCrossCross, mom, and vec.

341  {
342  vec = Mat3x3(MatCrossCross, v1.GetVec(), v2.GetVec());
343  mom = Mat3x3(MatCrossCross, v1.GetMom(), v2.GetVec());
344  mom += Mat3x3(MatCrossCross, v1.GetVec(), v2.GetMom());
345  };
const Vec3 & GetVec(void) const
Definition: matvecexp.h:198
const Vec3 & GetMom(void) const
Definition: matvecexp.h:202
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320
const MatCrossCross_Manip MatCrossCross
Definition: matvec3.cc:640

Here is the call graph for this function:

MatExp::MatExp ( const doublereal d,
const VecExp v2 
)
inline

Definition at line 347 of file matvecexp.h.

References VecExp::GetMom(), VecExp::GetVec(), MatCross, mom, and vec.

347  {
348  vec = Mat3x3(d, v2.GetVec());
349  mom = Mat3x3(MatCross, v2.GetMom());
350  };
const Vec3 & GetVec(void) const
Definition: matvecexp.h:198
const MatCross_Manip MatCross
Definition: matvec3.cc:639
const Vec3 & GetMom(void) const
Definition: matvecexp.h:202
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Here is the call graph for this function:

MatExp::MatExp ( const Mat3x3 ma,
const Mat3x3 mxa 
)
inline

Definition at line 352 of file matvecexp.h.

References NO_OP.

352  : vec(ma), mom(mxa) {
353  NO_OP;
354  };
#define NO_OP
Definition: myassert.h:74
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Member Function Documentation

VecExp MatExp::Ax ( void  ) const
inline

Definition at line 411 of file matvecexp.h.

References Mat3x3::Ax(), mom, and vec.

411  {
412  return VecExp(vec.Ax(),mom.Ax());
413  };
Vec3 Ax(void) const
Definition: matvec3.h:827
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Here is the call graph for this function:

const Mat3x3& MatExp::GetMom ( void  ) const
inline

Definition at line 360 of file matvecexp.h.

References mom.

Referenced by Compute(), ComputeFullInterpolation(), RoTrManip::Helix(), and operator<<().

360  {
361  return mom;
362  };
Mat3x3 mom
Definition: matvecexp.h:321
const Mat3x3& MatExp::GetVec ( void  ) const
inline

Definition at line 356 of file matvecexp.h.

References vec.

Referenced by Compute(), ComputeFullInterpolation(), RoTrManip::Helix(), and operator<<().

356  {
357  return vec;
358  };
Mat3x3 vec
Definition: matvecexp.h:320
MatExp MatExp::operator* ( const doublereal d) const
inline

Definition at line 390 of file matvecexp.h.

References MatExp(), mom, and vec.

390  {
391  return MatExp(vec*d, mom*d);
392  };
MatExp(void)
Definition: matvecexp.h:324
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Here is the call graph for this function:

VecExp MatExp::operator* ( const VecExp v) const
inline

Definition at line 399 of file matvecexp.h.

References VecExp::GetMom(), VecExp::GetVec(), mom, and vec.

399  {
400  return VecExp(vec*v.GetVec(), vec*v.GetMom()+mom*v.GetVec());
401  };
const Vec3 & GetVec(void) const
Definition: matvecexp.h:198
const Vec3 & GetMom(void) const
Definition: matvecexp.h:202
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Here is the call graph for this function:

MatExp MatExp::operator* ( const MatExp m) const
inline

Definition at line 403 of file matvecexp.h.

References MatExp(), mom, and vec.

403  {
404  return MatExp(vec*m.vec, vec*m.mom+mom*m.vec);
405  };
MatExp(void)
Definition: matvecexp.h:324
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Here is the call graph for this function:

MatExp& MatExp::operator+= ( const MatExp v)
inline

Definition at line 378 of file matvecexp.h.

References mom, and vec.

378  {
379  vec += v.vec;
380  mom += v.mom;
381  return *this;
382  };
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320
MatExp& MatExp::operator-= ( const MatExp v)
inline

Definition at line 384 of file matvecexp.h.

References mom, and vec.

384  {
385  vec -= v.vec;
386  mom -= v.mom;
387  return *this;
388  };
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320
MatExp MatExp::operator/ ( const doublereal d) const
inline

Definition at line 394 of file matvecexp.h.

References ASSERT, MatExp(), mom, and vec.

394  {
395  ASSERT(d != 0.);
396  return MatExp(vec/d, mom/d);
397  };
MatExp(void)
Definition: matvecexp.h:324
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320
#define ASSERT(expression)
Definition: colamd.c:977

Here is the call graph for this function:

MatExp& MatExp::operator= ( const MatExp m)
inline

Definition at line 372 of file matvecexp.h.

References mom, and vec.

372  {
373  vec = m.vec;
374  mom = m.mom;
375  return *this;
376  };
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320
void MatExp::PutMom ( const Mat3x3 x)
inline

Definition at line 368 of file matvecexp.h.

References mom.

368  {
369  mom = x;
370  };
Mat3x3 mom
Definition: matvecexp.h:321
void MatExp::PutVec ( const Mat3x3 x)
inline

Definition at line 364 of file matvecexp.h.

References vec.

364  {
365  vec = x;
366  };
Mat3x3 vec
Definition: matvecexp.h:320
MatExp MatExp::Transpose ( void  ) const
inline

Definition at line 407 of file matvecexp.h.

References MatExp(), mom, Mat3x3::Transpose(), and vec.

Referenced by Compute().

407  {
408  return MatExp(vec.Transpose(), mom.Transpose());
409  };
MatExp(void)
Definition: matvecexp.h:324
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320
Mat3x3 Transpose(void) const
Definition: matvec3.h:816

Here is the call graph for this function:

std::ostream & MatExp::Write ( std::ostream &  out,
const char *  sFill = " ",
const char *  sFill2 = NULL 
) const

Definition at line 177 of file matvecexp.cc.

References Mat3x3::dGet(), mom, and vec.

Referenced by Write().

178 {
179  char* sF2 = (char*)sFill2;
180  if (sFill2 == NULL) {
181  sF2 = (char*)sFill;
182  }
183 
184  return out
185  << vec.dGet(1,1) << sFill
186  << vec.dGet(1,2) << sFill
187  << vec.dGet(1,3) << sFill
188  << mom.dGet(1,1) << sFill
189  << mom.dGet(1,2) << sFill
190  << mom.dGet(1,3) << sF2
191  << vec.dGet(2,1) << sFill
192  << vec.dGet(2,2) << sFill
193  << vec.dGet(2,3) << sFill
194  << mom.dGet(2,1) << sFill
195  << mom.dGet(2,2) << sFill
196  << mom.dGet(2,3) << sF2
197  << vec.dGet(3,1) << sFill
198  << vec.dGet(3,2) << sFill
199  << vec.dGet(3,3) << sFill
200  << mom.dGet(3,1) << sFill
201  << mom.dGet(3,2) << sFill
202  << mom.dGet(3,3) << sF2
203  << 0. << sFill
204  << 0. << sFill
205  << 0. << sFill
206  << vec.dGet(1,1) << sFill
207  << vec.dGet(1,2) << sFill
208  << vec.dGet(1,3) << sF2
209  << 0. << sFill
210  << 0. << sFill
211  << 0. << sFill
212  << vec.dGet(2,1) << sFill
213  << vec.dGet(2,2) << sFill
214  << vec.dGet(2,3) << sF2
215  << 0. << sFill
216  << 0. << sFill
217  << 0. << sFill
218  << vec.dGet(3,1) << sFill
219  << vec.dGet(3,2) << sFill
220  << vec.dGet(3,3);
221 }
const doublereal & dGet(unsigned short int iRow, unsigned short int iCol) const
Definition: matvec3.h:770
Mat3x3 mom
Definition: matvecexp.h:321
Mat3x3 vec
Definition: matvecexp.h:320

Here is the call graph for this function:

Member Data Documentation

Mat3x3 MatExp::mom
protected
Mat3x3 MatExp::vec
protected

The documentation for this class was generated from the following files: