63#ifndef lumpedPointState_H
64#define lumpedPointState_H
121 mutable std::unique_ptr<tensorField> rotationPtr_;
126 void calcRotations()
const;
195 inline bool good()
const;
198 inline bool empty()
const;
201 inline label
size()
const;
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
static const List< label > & null() noexcept
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A class for handling file names.
The state of lumped points corresponds to positions and rotations.
const tensorField & rotations() const
The local-to-global transformation for each point.
lumpedPointState()
Default construct.
void writePlain(Ostream &os) const
Output as plain content.
inputFormatType
Input format types.
@ DICTIONARY
"dictionary" is the OpenFOAM dictionary format
@ PLAIN
"plain" is a simple ASCII format
bool degrees() const
Rotation angles in degrees.
bool valid() const
Same as good().
label size() const
The number of points.
bool writeData(Ostream &os) const
Output as dictionary content.
static bool visUnused
Enable/disable visualization of unused points.
bool empty() const
If no points were specified.
quaternion::eulerOrder rotationOrder() const
The Euler-angle rotation order.
static scalar visLength
The length for visualization triangles.
static const Enum< inputFormatType > formatNames
Names for the input format types.
bool readData(Istream &is, const quaternion::eulerOrder rotOrder=quaternion::eulerOrder::ZXZ, const bool degrees=false)
Read input as dictionary content.
void operator=(const lumpedPointState &rhs)
Assignment operator.
void writeDict(Ostream &os) const
Output as dictionary content.
bool good() const
Has positions and consistent number of rotations?
void writeVTP(const fileName &outputFile, const labelListList &lines=labelListList(), const labelList &pointIds=labelList::null()) const
Output points/rotations as VTK file for debugging/visualization.
const pointField & points() const
The points corresponding to mass centres.
bool readPlain(Istream &is, const quaternion::eulerOrder rotOrder=quaternion::eulerOrder::ZXZ, const bool degrees=false)
Read input as plain content.
void operator+=(const point &origin)
Shift points by specified origin.
virtual ~lumpedPointState()=default
Destructor.
void scalePoints(const scalar scaleFactor)
Scale points by given factor.
const vectorField & angles() const
The orientation of the points (mass centres).
eulerOrder
Euler-angle rotation order.
A class for managing temporary objects.
OBJstream os(runTime.globalPath()/outputName)
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vector point
Point is a vector.
void rhs(fvMatrix< typename Expr::value_type > &m, const Expr &expression)
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
vectorField pointField
pointField is a vectorField.