39#ifndef CollisionRecordList_H
40#define CollisionRecordList_H
52template<
class PairType,
class WallType>
55template<
class PairType,
class WallType>
62template<
class PairType,
class WallType>
69template<
class PairType,
class WallType>
72template<
class PairType,
class WallType>
80template<
class PairType,
class WallType>
171 label origProcOfOther,
202 friend bool operator== <PairType, WallType>
208 friend bool operator!= <PairType, WallType>
217 friend Istream&
operator>> <PairType, WallType>
const DynamicList< WallCollisionRecord< WallType > > & wallRecords() const
Return the active wall collisions.
PairCollisionRecord< PairType > & matchPairRecord(label origProcOfOther, label origIdOfOther)
Enquires if the proc and id pair of the other particle are.
const DynamicList< PairCollisionRecord< PairType > > & pairRecords() const
Return the active pair collisions.
CollisionRecordList(const labelField &pairAccessed, const labelField &pairOrigProcOfOther, const labelField &pairOrigIdOfOther, const Field< PairType > &pairData, const labelField &wallAccessed, const vectorField &wallPRel, const Field< WallType > &wallData)
Construct from component fields (for IO).
labelField pairAccessed() const
labelField pairOrigIdOfOther() const
vectorField wallPRel() const
bool checkPairRecord(label origProcOfOther, label origIdOfOther)
Enquire if the specified record exists without modifying.
Field< vector > wallData() const
Field< vector > pairData() const
WallCollisionRecord< WallType > & matchWallRecord(const vector &pRel, scalar radius)
Enquires if the position of wall impact relative to the.
labelField wallAccessed() const
bool checkWallRecord(const vector &pRel, scalar radius)
Enquire if the specified record exists without modifying.
friend Ostream & operator(Ostream &, const CollisionRecordList< PairType, WallType > &)
CollisionRecordList(Istream &is)
Construct from Istream.
void update()
Update the collision records, deleting any records not.
labelField pairOrigProcOfOther() const
CollisionRecordList()=default
Default construct.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Record of a collision between the particle holding the record and the particle with the stored id.
Record of a collision between the particle holding the record and a wall face at the position relativ...
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
Istream & operator>>(Istream &, directionInfo &)
Field< vector > vectorField
Specialisation of Field<T> for vector.
Field< label > labelField
Specialisation of Field<T> for label.