63 #ifndef lumpedPointState_H 64 #define lumpedPointState_H 88 class lumpedPointState
125 mutable std::unique_ptr<tensorField> rotationPtr_;
130 void calcRotations()
const;
199 inline bool valid()
const;
202 inline bool empty()
const;
205 inline label
size()
const;
List< labelList > labelListList
A List of labelList.
"dictionary" is the OpenFOAM dictionary format
A class for handling file names.
static scalar visLength
The length for visualization triangles.
inputFormatType
Input format types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
quaternion::eulerOrder rotationOrder() const
The Euler-angle rotation order.
void writeDict(Ostream &os) const
Output as dictionary content.
void writePlain(Ostream &os) const
Output as plain content.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void operator=(const lumpedPointState &rhs)
Assignment operator.
"plain" is a simple ASCII format
static const List< label > & null()
Return a null List.
bool valid() const
Has positions and consistent number of rotations?
bool writeData(Ostream &os) const
Output as dictionary content.
static bool visUnused
Enable/disable visualization of unused points.
bool readPlain(Istream &is, const quaternion::eulerOrder rotOrder=quaternion::eulerOrder::ZXZ, const bool degrees=false)
Read input as plain content.
static const Enum< inputFormatType > formatNames
Names for the input format types.
void operator+=(const point &origin)
Shift points by specified origin.
const vectorField & angles() const
The orientation of the points (mass centres)
eulerOrder
Euler-angle rotation order.
lumpedPointState()
Default construct.
bool degrees() const
Rotation angles in degrees.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
OBJstream os(runTime.globalPath()/outputName)
void scalePoints(const scalar scaleFactor)
Scale points by given factor.
void relax(const scalar alpha, const lumpedPointState &prev)
Relax the state.
const tensorField & rotations() const
The local-to-global transformation for each point.
const pointField & points() const
The points corresponding to mass centres.
label size() const
The number of points.
bool empty() const
If no points were specified.
A class for managing temporary objects.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
bool readData(Istream &is, const quaternion::eulerOrder rotOrder=quaternion::eulerOrder::ZXZ, const bool degrees=false)
Read input as dictionary content.
virtual ~lumpedPointState()=default
Destructor.
void writeVTP(const fileName &outputFile, const labelListList &lines=labelListList(), const labelList &pointIds=labelList::null()) const
Output points/rotations as VTK file for debugging/visualization.
The state of lumped points corresponds to positions and rotations.