Project Chrono: chrono::ChParticleBase Class Reference

Public Member Functions | List of all members
chrono::ChParticleBase Class Referenceabstract

## Description

Base class for a single particle to be used in ChIndexedParticles containers.

It is an item that has 6 degrees of freedom, like a moving frame.

`#include <ChIndexedParticles.h>`

Inheritance diagram for chrono::ChParticleBase:
[legend]
Collaboration diagram for chrono::ChParticleBase:
[legend]

## Public Member Functions
| ChParticleBase (const ChParticleBase &other)
ChParticleBase & | operator= (const ChParticleBase &other)
virtual ChVariables & | Variables ()=0
Public Member Functions inherited from chrono::ChFrameMoving< double >
| ChFrameMoving (const ChVector3< double > &mv=ChVector3< double >(0, 0, 0), const ChQuaternion< double > &mq=ChQuaternion< double >(1, 0, 0, 0))
| Construct from pos and rot (as a quaternion).
virtual | ~ChFrameMoving ()
| Destructor.
ChFrameMoving< double > & | operator= (const ChFrameMoving< double > &other)
| Assignment operator: copy from another moving frame.
bool | operator== (const ChFrameMoving< double > &other) const
| Returns true for identical frames.
bool | operator!= (const ChFrameMoving< double > &other) const
| Returns true for different frames.
ChFrameMoving< double > | operator>> (const ChFrameMoving< double > &F) const
| Transform another frame through this frame.
ChFrameMoving< double > | operator* (const ChFrameMoving< double > &F) const
| Transform another frame through this frame.
ChFrameMoving< double > & | operator>>= (const ChFrameMoving< double > &F)
| Transform this frame by pre-multiplication with another frame.
ChFrameMoving< double > & | operator*= (const ChFrameMoving< double > &F)
| Transform this frame by post-multiplication with another frame.
const ChCoordsys< double > & | GetCoordsysDt () const
| Return both rotation and translation velocities as a ChCoordsys object.
const ChCoordsys< double > & | GetCoordsysDt2 () const
| Return both rotation and translation accelerations as a ChCoordsys object.
const ChVector3< double > & | GetPosDt () const
| Return the linear velocity.
const ChVector3< double > & | GetLinVel () const
| Return the linear velocity.
const ChVector3< double > & | GetPosDt2 () const
| Return the linear acceleration.
const ChVector3< double > & | GetLinAcc () const
| Return the linear acceleration.
const ChQuaternion< double > & | GetRotDt () const
| Return the rotation velocity as a quaternion.
const ChQuaternion< double > & | GetRotDt2 () const
| Return the rotation acceleration as a quaternion.
ChVector3< double > | GetAngVelLocal () const
| Compute the angular velocity (expressed in local coords).
ChVector3< double > | GetAngVelParent () const
| Compute the actual angular velocity (expressed in parent coords).
ChVector3< double > | GetAngAccLocal () const
| Compute the actual angular acceleration (expressed in local coords).
ChVector3< double > | GetAngAccParent () const
| Compute the actual angular acceleration (expressed in parent coords).
virtual void | SetCoordsysDt (const ChCoordsys< double > &csys_dt)
| Set both linear and rotation velocities as a single ChCoordsys derivative.
virtual void | SetPosDt (const ChVector3< double > &vel)
| Set the linear velocity.
virtual void | SetLinVel (const ChVector3< double > &vel)
| Set the linear velocity.
virtual void | SetRotDt (const ChQuaternion< double > &q_dt)
| Set the rotation velocity as a quaternion derivative.
virtual void | SetAngVelLocal (const ChVector3< double > &w)
| Set the rotation velocity from the given angular velocity (expressed in local coordinates).
virtual void | SetAngVelParent (const ChVector3< double > &w)
| Set the rotation velocity from given angular velocity (expressed in parent coordinates).
virtual void | SetCoordsysDt2 (const ChCoordsys< double > &csys_dtdt)
| Set the linear and rotation accelerations as a single ChCoordsys derivative.
virtual void | SetPosDt2 (const ChVector3< double > &acc)
| Set the linear acceleration.
virtual void | SetLinAcc (const ChVector3< double > &acc)
| Set the linear acceleration.
virtual void | SetRotDt2 (const ChQuaternion< double > &q_dtdt)
| Set the rotation acceleration as a quaternion derivative.
virtual void | SetAngAccLocal (const ChVector3< double > &a)
| Set the rotation acceleration from given angular acceleration (expressed in local coordinates).
virtual void | SetAngAccParent (const ChVector3< double > &a)
| Set the rotation acceleration from given angular acceleration (expressed in parent coordinates).
void | ComputeRotMatDt (ChMatrix33< double > &R_dt) const
| Compute the time derivative of the rotation matrix.
void | ComputeRotMatDt2 (ChMatrix33< double > &R_dtdt)
| Compute the second time derivative of the rotation matrix.
ChMatrix33< double > | GetRotMatDt ()
| Return the time derivative of the rotation matrix.
ChMatrix33< double > | GetRotMatDt2 ()
| Return the second time derivative of the rotation matrix.
void | ConcatenatePreTransformation (const ChFrameMoving< double > &F)
| Apply a transformation (rotation and translation) represented by another frame.
void | ConcatenatePostTransformation (const ChFrameMoving< double > &F)
| Apply a transformation (rotation and translation) represented by another frame F in local coordinate.
ChVector3< double > | PointSpeedLocalToParent (const ChVector3< double > &localpos) const
| Return the velocity in the parent frame of a point fixed to this frame and expressed in local coordinates.
ChVector3< double > | PointAccelerationLocalToParent (const ChVector3< double > &localpos) const
| Return the acceleration in the parent frame of a point fixed to this frame and expressed in local coordinates.
ChVector3< double > | PointSpeedParentToLocal (const ChVector3< double > &parentpos, const ChVector3< double > &parentspeed) const
| Return the velocity of a point expressed in this frame, given the point location and velocity in the parent frame.
ChVector3< double > | PointAccelerationParentToLocal (const ChVector3< double > &parentpos, const ChVector3< double > &parentspeed, const ChVector3< double > &parentacc) const
| Return the acceleration of a point expressed in this frame, given the point location, velocity, and acceleration in the parent frame.
ChFrameMoving< double > | TransformLocalToParent (const ChFrameMoving< double > &F) const
| Transform a moving frame from 'this' local coordinate system to parent frame coordinate system.
ChFrameMoving< double > | TransformParentToLocal (const ChFrameMoving< double > &F) const
| Transform a moving frame from the parent coordinate system to 'this' local frame coordinate system.
bool | Equals (const ChFrameMoving< double > &other) const
| Returns true if this transform is identical to the other transform.
virtual void | Invert () override
| Invert in place.
ChFrameMoving< double > | GetInverse () const
| Return the inverse transform.
virtual void | ArchiveOut (ChArchiveOut &archive_out) override
| Method to allow serialization of transient data to archives.
virtual void | ArchiveIn (ChArchiveIn &archive_in) override
| Method to allow de-serialization of transient data from archives.
Public Member Functions inherited from chrono::ChFrame< double >
| ChFrame (const ChVector3< double > &v=ChVector3< double >(0, 0, 0), const ChQuaternion< double > &q=ChQuaternion< double >(1, 0, 0, 0))
| Default constructor, or construct from pos and rot (as a quaternion).
| ChFrame (const ChVector3< double > &v, const ChMatrix33< double > &R)
| Construct from pos and rotation (as a 3x3 matrix).
| ChFrame (const ChCoordsys< double > &C)
| Construct from a coordsys.
| ChFrame (const ChVector3< double > &v, const double angle, const ChVector3< double > &u)
| Construct from position mv and rotation of angle alpha around unit vector mu.
| ChFrame (const ChFrame< double > &other)
| Copy constructor, build from another frame.
ChFrame< double > & | operator= (const ChFrame< double > &other)
| Assignment operator: copy from another frame.
bool | operator== (const ChFrame< double > &other) const
| Returns true for identical frames.
bool | operator!= (const ChFrame< double > &other) const
| Returns true for different frames.
ChFrame< double > | operator* (const ChFrame< double > &F) const
| Transform another frame through this frame.
ChFrame< double > | operator>> (const ChFrame< double > &F) const
| Transform another frame through this frame.
ChVector3< double > | operator* (const ChVector3< double > &v) const
| Transform a vector through this frame (express in parent frame).
ChVector3< double > | operator/ (const ChVector3< double > &v) const
| Transform a vector through this frame (express from parent frame).
ChFrame< double > & | operator>>= (const ChFrame< double > &F)
| Transform this frame by pre-multiplication with another frame.
ChFrame< double > & | operator*= (const ChFrame< double > &F)
| Transform this frame by post-multiplication with another frame.
ChFrame< double > & | operator>>= (const ChVector3< double > &v)
| Transform this frame by pre-multiplication with a given vector (translate frame).
ChFrame< double > & | operator>>= (const ChQuaternion< double > &q)
| Transform this frame by pre-multiplication with a given quaternion (rotate frame).
ChFrame< double > & | operator>>= (const ChCoordsys< double > &C)
| Transform this frame by pre-multiplication with a given coordinate system.
const ChCoordsys< double > & | GetCoordsys () const
| Return both current rotation and translation as a ChCoordsys object.
const ChVector3< double > & | GetPos () const
| Return the current translation vector.
const ChQuaternion< double > & | GetRot () const
| Return the current rotation quaternion.
const ChMatrix33< double > & | GetRotMat () const
| Return the current 3x3 rotation matrix.
ChVector3< double > | GetRotAxis () const
| Get axis of finite rotation, in parent space.
double | GetRotAngle () const
| Get angle of rotation about axis of finite rotation.
void | SetCoordsys (const ChCoordsys< double > &C)
| Impose both translation and rotation as a single ChCoordsys.
void | SetCoordsys (const ChVector3< double > &v, const ChQuaternion< double > &q)
| Impose both translation and rotation.
void | SetRot (const ChQuaternion< double > &q)
| Impose the rotation as a quaternion.
void | SetRot (const ChMatrix33< double > &R)
| Impose the rotation as a 3x3 matrix.
void | SetPos (const ChVector3< double > &pos)
| Impose the translation vector.
void | ConcatenatePreTransformation (const ChFrame< double > &F)
| Apply a transformation (rotation and translation) represented by another frame.
void | ConcatenatePostTransformation (const ChFrame< double > &F)
| Apply a transformation (rotation and translation) represented by another frame F in local coordinate.
void | Move (const ChVector3< double > &v)
| An easy way to move the frame by the amount specified by vector v, (assuming v expressed in parent coordinates).
void | Move (const ChCoordsys< double > &C)
| Apply both translation and rotation, assuming both expressed in parent coordinates, as a vector for translation and quaternion for rotation,.
ChVector3< double > | TransformPointLocalToParent (const ChVector3< double > &v) const
| Transform a point from the local frame coordinate system to the parent coordinate system.
ChVector3< double > | TransformPointParentToLocal (const ChVector3< double > &v) const
| Transforms a point from the parent coordinate system to local frame coordinate system.
ChVector3< double > | TransformDirectionLocalToParent (const ChVector3< double > &d) const
| Transform a direction from the parent frame coordinate system to 'this' local coordinate system.
ChVector3< double > | TransformDirectionParentToLocal (const ChVector3< double > &d) const
| Transforms a direction from 'this' local coordinate system to parent frame coordinate system.
ChWrench< double > | TransformWrenchLocalToParent (const ChWrench< double > &w) const
| Transform a wrench from the local coordinate system to the parent coordinate system.
ChWrench< double > | TransformWrenchParentToLocal (const ChWrench< double > &w) const
| Transform a wrench from the parent coordinate system to the local coordinate system.
ChFrame< double > | TransformLocalToParent (const ChFrame< double > &F) const
| Transform a frame from 'this' local coordinate system to parent frame coordinate system.
ChFrame< double > | TransformParentToLocal (const ChFrame< double > &F) const
| Transform a frame from the parent coordinate system to 'this' local frame coordinate system.
bool | Equals (const ChFrame< double > &other) const
| Returns true if this transform is identical to the other transform.
bool | Equals (const ChFrame< double > &other, double tol) const
| Returns true if this transform is equal to the other transform, within a tolerance 'tol'.
void | Normalize ()
| Normalize the rotation, so that quaternion has unit length.
virtual void | SetIdentity ()
| Sets to no translation and no rotation.
ChFrame< double > | GetInverse () const
| Return the inverse transform.

## Additional Inherited Members
Protected Attributes inherited from chrono::ChFrameMoving< double >
ChCoordsys< double > | m_csys_dt
| rotation and position velocity, as vector + quaternion
ChCoordsys< double > | m_csys_dtdt
| rotation and position acceleration, as vector + quaternion
Protected Attributes inherited from chrono::ChFrame< double >
ChCoordsys< double > | m_csys
| position and rotation, as vector + quaternion
ChMatrix33< double > | m_rmat
| 3x3 orthogonal rotation matrix

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

- D:/W/B/src/chrono-9.0.1/src/chrono/physics/ChIndexedParticles.h
- D:/W/B/src/chrono-9.0.1/src/chrono/physics/ChIndexedParticles.cpp