48 return nonFeatureStart_;
54 return externalStart_;
60 return internalStart_;
78 return multipleStart_;
84 return ptI < nonFeatureStart_;
97 return normalVolumeTypes_;
104 return edgeDirections_;
111 return normalDirections_;
121 const edge&
e = edges()[edgeI];
123 if (ptI ==
e.start())
125 return edgeDirections()[edgeI];
127 else if (ptI ==
e.end())
129 return -edgeDirections()[edgeI];
134 <<
"Requested ptI " << ptI <<
" is not a point on the requested "
135 <<
"edgeI " << edgeI <<
". edgeI start and end: "
136 <<
e.start() <<
" " <<
e.end()
160 norms[i] = normals_[edgeNormIs[i]];
170 return edgeNormals(edgeNormals_[edgeI]);
177 return featurePointNormals_;
186 if (!featurePoint(ptI))
189 <<
"Requesting the normals of a non-feature point. "
190 <<
"Returned zero length vectorField."
196 labelList featPtNormIs(featurePointNormals_[ptI]);
202 norms[i] = normals_[featPtNormIs[i]];
212 return featurePointEdges_;
225 if (ptI < concaveStart_)
229 else if (ptI < mixedStart_)
233 else if (ptI < nonFeatureStart_)
247 if (edgeI < internalStart_)
251 else if (edgeI < flatStart_)
255 else if (edgeI < openStart_)
259 else if (edgeI < multipleStart_)
275 const labelList& eNormals = edgeNormals_[edgeI];
281 const label normI = eNormals[enI];
283 if (normalVolumeTypes_[normI])
285 edgeBaffles.
append(normI);
#define forAll(list, i)
Loop across all elements in list.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void size(const label)
Override size to be inconsistent with allocated storage.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
const labelListList & normalDirections() const
bool featurePoint(label ptI) const
Return whether or not the point index is a feature point.
label externalStart() const
Return the index of the start of the external feature edges.
label openStart() const
Return the index of the start of the open feature edges.
label nonFeatureStart() const
Return the index of the start of the non-feature points.
const vectorField & edgeDirections() const
Return the edgeDirection vectors.
const List< sideVolumeType > & normalVolumeTypes() const
Return.
pointStatus getPointStatus(label ptI) const
Return the pointStatus of a specified point.
label flatStart() const
Return the index of the start of the flat feature edges.
const labelListList & featurePointEdges() const
Return the edge labels for a given feature point. Edges are.
const labelList & regionEdges() const
Return the feature edges which are on the boundary between.
const labelListList & edgeNormals() const
Return the indices of the normals that are adjacent to the.
label convexStart() const
Return the index of the start of the convex feature points.
const vectorField & normals() const
Return the normals of the surfaces adjacent to the feature edges.
label multipleStart() const
Return the index of the start of the multiply-connected feature.
static label convexStart_
Index of the start of the convex feature points - static as 0.
label internalStart() const
Return the index of the start of the internal feature edges.
vector edgeDirection(label edgeI, label ptI) const
Return the direction of edgeI, pointing away from ptI.
PackedList< 2 > edgeBaffles(label edgeI) const
Return the baffle faces of a specified edge.
const labelListList & featurePointNormals() const
Return the indices of the normals that are adjacent to the.
edgeStatus getEdgeStatus(label edgeI) const
Return the edgeStatus of a specified edge.
label mixedStart() const
Return the index of the start of the mixed type feature points.
label concaveStart() const
Return the index of the start of the concave feature points.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define WarningInFunction
Report a warning using Foam::Warning.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Field< vector > vectorField
Specialisation of Field<T> for vector.