Go to the documentation of this file.
41 #ifndef triSurfaceMesh_H
42 #define triSurfaceMesh_H
48 #include "treeDataTriSurface.H"
52 #include "triSurface.H"
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
void operator=(const triSurfaceMesh &)
Disallow default bitwise assignment.
A class for handling words, derived from string.
A class for handling file names.
A class for managing temporary objects.
scalar minQuality_
Optional min triangle quality. Triangles below this get.
autoPtr< indexedOctree< treeDataEdge > > edgeTree_
Search tree for boundary edges.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const
From a set of points and indices get the normal.
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
compressionType
Enumeration for the format of data in the stream.
const indexedOctree< treeDataEdge > & edgeTree() const
Demand driven construction of octree for boundary edges.
TypeName("triSurfaceMesh")
Runtime type information.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
IOoject and searching on triSurface.
Helper class to search on triSurface. Creates an octree for each region of the surface and only searc...
virtual label size() const
Range of local indices that can be returned.
label surfaceClosed_
Is surface closed.
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Return any intersection on segment from start to end.
static word meshSubDir
Return the mesh sub-directory name (usually "triSurface")
virtual void movePoints(const pointField &)
Move points.
Registry of regIOobjects.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
Triangulated surface description with patch information.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
virtual void findLine(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Find first intersection on segment from start to end.
Non-pointer based hierarchical recursive searching.
virtual void getField(const List< pointIndexHit > &, labelList &) const
WIP. From a set of hits (points and.
virtual const wordList & regions() const
Names of regions.
wordList regions_
Names of regions.
triSurfaceMesh(const triSurfaceMesh &)
Disallow default bitwise copy construct.
bool writeData(Ostream &) const
writeData function required by regIOobject but not used
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const
Get bounding spheres (centre and radius squared). Any point.
void clearOut()
Clear storage.
A list of keyword definitions, which are a keyword followed by any number of values (e....
virtual tmp< pointField > points() const
Get the points that define the surface.
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
virtual void setField(const labelList &values)
WIP. Store element-wise field.
label size() const
Return the number of elements in the UList.
static const fileName & checkFile(const fileName &fName, const fileName &objectName)
Check file existence.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit > > &) const
Get all intersections in order from start to end.
virtual ~triSurfaceMesh()
Destructor.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static bool addFaceToEdge(const edge &, EdgeMap< label > &)
Helper function for isSurfaceClosed.
virtual bool writeObject(IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp) const
Write using given format, version and compression.
virtual bool overlaps(const boundBox &bb) const
Does any part of the surface overlap the supplied bound box?
static void getNextIntersections(const indexedOctree< treeDataTriSurface > &octree, const point &start, const point &end, const vector &smallVec, DynamicList< pointIndexHit, 1, 1 > &hits)
Steps to next intersection. Adds smallVec and starts tracking.
bool isSurfaceClosed() const
Check whether surface is closed without calculating any permanent.
A bounding box defined in terms of the points at its extremities.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void getVolumeType(const pointField &, List< volumeType > &) const
Determine type (inside/outside/mixed) for point. unknown if.
virtual bool hasVolumeType() const
Whether supports volume type below. I.e. whether is closed.
volumeType outsideVolType_
If surface is closed, what is type of outside points.
A normal distribution model.
streamFormat
Enumeration for the format of data in the stream.