63 #ifndef lumpedPointState_H 64 #define lumpedPointState_H 84 class lumpedPointState
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;
"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.
bool good() const
Has positions and consistent number of rotations?
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
List< labelList > labelListList
List of labelList.
bool valid() const
Same as good()
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.
static const List< label > & null() noexcept
Return a null List (reference to a nullObject). Behaves like an empty List.
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.