mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Using enhancedFeatureEdgeMesh.
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2010-2010 OpenCFD Ltd.
|
\\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -26,8 +26,9 @@ Application
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
||||||
Generates the featureEdgeMesh for the interface between a boolean operation
|
Generates the extendedFeatureEdgeMesh for the interface between a boolean
|
||||||
on two surfaces. Assumes that the orientation of the surfaces is correct:
|
operation on two surfaces. Assumes that the orientation of the surfaces is
|
||||||
|
correct:
|
||||||
|
|
||||||
+ if the operation is union or intersection, that both surface's normals
|
+ if the operation is union or intersection, that both surface's normals
|
||||||
(n) have the same orientation with respect to a point, i.e. surfaces and b
|
(n) have the same orientation with respect to a point, i.e. surfaces and b
|
||||||
@ -70,7 +71,7 @@ Description
|
|||||||
#include "triSurface.H"
|
#include "triSurface.H"
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "Time.H"
|
#include "Time.H"
|
||||||
#include "featureEdgeMesh.H"
|
#include "extendedFeatureEdgeMesh.H"
|
||||||
#include "triSurfaceSearch.H"
|
#include "triSurfaceSearch.H"
|
||||||
#include "OFstream.H"
|
#include "OFstream.H"
|
||||||
#include "booleanSurface.H"
|
#include "booleanSurface.H"
|
||||||
@ -420,11 +421,11 @@ int main(int argc, char *argv[])
|
|||||||
// Flat, open or multiple edges are assumed to be impossible
|
// Flat, open or multiple edges are assumed to be impossible
|
||||||
// Region edges are not explicitly supported by surfaceIntersection
|
// Region edges are not explicitly supported by surfaceIntersection
|
||||||
|
|
||||||
featureEdgeMesh feMesh
|
extendedFeatureEdgeMesh feMesh
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
sFeatFileName + ".featureEdgeMesh",
|
sFeatFileName + ".extendedFeatureEdgeMesh",
|
||||||
runTime.constant(),
|
runTime.constant(),
|
||||||
"featureEdgeMesh",
|
"featureEdgeMesh",
|
||||||
runTime,
|
runTime,
|
||||||
|
|||||||
@ -348,7 +348,7 @@ int main(int argc, char *argv[])
|
|||||||
argList::addBoolOption
|
argList::addBoolOption
|
||||||
(
|
(
|
||||||
"writeObj",
|
"writeObj",
|
||||||
"write featureEdgeMesh obj files"
|
"write extendedFeatureEdgeMesh obj files"
|
||||||
);
|
);
|
||||||
argList::addOption
|
argList::addOption
|
||||||
(
|
(
|
||||||
@ -536,13 +536,13 @@ int main(int argc, char *argv[])
|
|||||||
<< " internal edges : " << newSet.nInternalEdges() << nl
|
<< " internal edges : " << newSet.nInternalEdges() << nl
|
||||||
<< endl;
|
<< endl;
|
||||||
|
|
||||||
// Extracting and writing a featureEdgeMesh
|
// Extracting and writing a extendedFeatureEdgeMesh
|
||||||
|
|
||||||
extendedFeatureEdgeMesh feMesh
|
extendedFeatureEdgeMesh feMesh
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
sFeatFileName + ".featureEdgeMesh",
|
sFeatFileName + ".extendedFeatureEdgeMesh",
|
||||||
runTime.constant(),
|
runTime.constant(),
|
||||||
"featureEdgeMesh",
|
"featureEdgeMesh",
|
||||||
runTime,
|
runTime,
|
||||||
|
|||||||
@ -277,7 +277,7 @@ void Foam::conformalVoronoiMesh::insertEdgePointGroups
|
|||||||
|
|
||||||
forAll(edgeHits, i)
|
forAll(edgeHits, i)
|
||||||
{
|
{
|
||||||
const featureEdgeMesh& feMesh
|
const extendedFeatureEdgeMesh& feMesh
|
||||||
(
|
(
|
||||||
geometryToConformTo_.features()[featuresHit[i]]
|
geometryToConformTo_.features()[featuresHit[i]]
|
||||||
);
|
);
|
||||||
@ -301,42 +301,42 @@ void Foam::conformalVoronoiMesh::insertEdgePointGroups
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertEdgePointGroup
|
void Foam::conformalVoronoiMesh::insertEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
label edgeI = edHit.index();
|
label edgeI = edHit.index();
|
||||||
|
|
||||||
featureEdgeMesh::edgeStatus edStatus = feMesh.getEdgeStatus(edgeI);
|
extendedFeatureEdgeMesh::edgeStatus edStatus = feMesh.getEdgeStatus(edgeI);
|
||||||
|
|
||||||
switch (edStatus)
|
switch (edStatus)
|
||||||
{
|
{
|
||||||
case featureEdgeMesh::EXTERNAL:
|
case extendedFeatureEdgeMesh::EXTERNAL:
|
||||||
{
|
{
|
||||||
insertExternalEdgePointGroup(feMesh, edHit);
|
insertExternalEdgePointGroup(feMesh, edHit);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::INTERNAL:
|
case extendedFeatureEdgeMesh::INTERNAL:
|
||||||
{
|
{
|
||||||
insertInternalEdgePointGroup(feMesh, edHit);
|
insertInternalEdgePointGroup(feMesh, edHit);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::FLAT:
|
case extendedFeatureEdgeMesh::FLAT:
|
||||||
{
|
{
|
||||||
insertFlatEdgePointGroup(feMesh, edHit);
|
insertFlatEdgePointGroup(feMesh, edHit);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::OPEN:
|
case extendedFeatureEdgeMesh::OPEN:
|
||||||
{
|
{
|
||||||
insertOpenEdgePointGroup(feMesh, edHit);
|
insertOpenEdgePointGroup(feMesh, edHit);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::MULTIPLE:
|
case extendedFeatureEdgeMesh::MULTIPLE:
|
||||||
{
|
{
|
||||||
insertMultipleEdgePointGroup(feMesh, edHit);
|
insertMultipleEdgePointGroup(feMesh, edHit);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::NONE:
|
case extendedFeatureEdgeMesh::NONE:
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -346,7 +346,7 @@ void Foam::conformalVoronoiMesh::insertEdgePointGroup
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertExternalEdgePointGroup
|
void Foam::conformalVoronoiMesh::insertExternalEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -380,7 +380,7 @@ void Foam::conformalVoronoiMesh::insertExternalEdgePointGroup
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertInternalEdgePointGroup
|
void Foam::conformalVoronoiMesh::insertInternalEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -447,7 +447,7 @@ void Foam::conformalVoronoiMesh::insertInternalEdgePointGroup
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertFlatEdgePointGroup
|
void Foam::conformalVoronoiMesh::insertFlatEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -478,7 +478,7 @@ void Foam::conformalVoronoiMesh::insertFlatEdgePointGroup
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertOpenEdgePointGroup
|
void Foam::conformalVoronoiMesh::insertOpenEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -488,7 +488,7 @@ void Foam::conformalVoronoiMesh::insertOpenEdgePointGroup
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertMultipleEdgePointGroup
|
void Foam::conformalVoronoiMesh::insertMultipleEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -558,11 +558,14 @@ void Foam::conformalVoronoiMesh::createFeaturePoints()
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertConvexFeaturePoints()
|
void Foam::conformalVoronoiMesh::insertConvexFeaturePoints()
|
||||||
{
|
{
|
||||||
const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
|
const PtrList<extendedFeatureEdgeMesh>& feMeshes
|
||||||
|
(
|
||||||
|
geometryToConformTo_.features()
|
||||||
|
);
|
||||||
|
|
||||||
forAll(feMeshes, i)
|
forAll(feMeshes, i)
|
||||||
{
|
{
|
||||||
const featureEdgeMesh& feMesh(feMeshes[i]);
|
const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
|
||||||
|
|
||||||
for
|
for
|
||||||
(
|
(
|
||||||
@ -602,11 +605,14 @@ void Foam::conformalVoronoiMesh::insertConvexFeaturePoints()
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertConcaveFeaturePoints()
|
void Foam::conformalVoronoiMesh::insertConcaveFeaturePoints()
|
||||||
{
|
{
|
||||||
const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
|
const PtrList<extendedFeatureEdgeMesh>& feMeshes
|
||||||
|
(
|
||||||
|
geometryToConformTo_.features()
|
||||||
|
);
|
||||||
|
|
||||||
forAll(feMeshes, i)
|
forAll(feMeshes, i)
|
||||||
{
|
{
|
||||||
const featureEdgeMesh& feMesh(feMeshes[i]);
|
const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
|
||||||
|
|
||||||
for
|
for
|
||||||
(
|
(
|
||||||
@ -649,11 +655,14 @@ void Foam::conformalVoronoiMesh::insertConcaveFeaturePoints()
|
|||||||
|
|
||||||
void Foam::conformalVoronoiMesh::insertMixedFeaturePoints()
|
void Foam::conformalVoronoiMesh::insertMixedFeaturePoints()
|
||||||
{
|
{
|
||||||
const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
|
const PtrList<extendedFeatureEdgeMesh>& feMeshes
|
||||||
|
(
|
||||||
|
geometryToConformTo_.features()
|
||||||
|
);
|
||||||
|
|
||||||
forAll(feMeshes, i)
|
forAll(feMeshes, i)
|
||||||
{
|
{
|
||||||
const featureEdgeMesh& feMesh(feMeshes[i]);
|
const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
|
||||||
|
|
||||||
for
|
for
|
||||||
(
|
(
|
||||||
@ -678,13 +687,13 @@ void Foam::conformalVoronoiMesh::insertMixedFeaturePoints()
|
|||||||
{
|
{
|
||||||
label edgeI = pEds[e];
|
label edgeI = pEds[e];
|
||||||
|
|
||||||
featureEdgeMesh::edgeStatus edStatus =
|
extendedFeatureEdgeMesh::edgeStatus edStatus =
|
||||||
feMesh.getEdgeStatus(edgeI);
|
feMesh.getEdgeStatus(edgeI);
|
||||||
|
|
||||||
if
|
if
|
||||||
(
|
(
|
||||||
edStatus == featureEdgeMesh::OPEN
|
edStatus == extendedFeatureEdgeMesh::OPEN
|
||||||
|| edStatus == featureEdgeMesh::MULTIPLE
|
|| edStatus == extendedFeatureEdgeMesh::MULTIPLE
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
Info<< "Edge type " << edStatus
|
Info<< "Edge type " << edStatus
|
||||||
@ -728,11 +737,14 @@ void Foam::conformalVoronoiMesh::constructFeaturePointLocations()
|
|||||||
{
|
{
|
||||||
DynamicList<Foam::point> ftPtLocs;
|
DynamicList<Foam::point> ftPtLocs;
|
||||||
|
|
||||||
const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
|
const PtrList<extendedFeatureEdgeMesh>& feMeshes
|
||||||
|
(
|
||||||
|
geometryToConformTo_.features()
|
||||||
|
);
|
||||||
|
|
||||||
forAll(feMeshes, i)
|
forAll(feMeshes, i)
|
||||||
{
|
{
|
||||||
const featureEdgeMesh& feMesh(feMeshes[i]);
|
const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
|
||||||
|
|
||||||
for
|
for
|
||||||
(
|
(
|
||||||
|
|||||||
@ -281,42 +281,42 @@ private:
|
|||||||
//- Call the appropriate function to conform to an edge
|
//- Call the appropriate function to conform to an edge
|
||||||
void insertEdgePointGroup
|
void insertEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Insert points to conform to an external edge
|
//- Insert points to conform to an external edge
|
||||||
void insertExternalEdgePointGroup
|
void insertExternalEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Insert points to conform to an internal edge
|
//- Insert points to conform to an internal edge
|
||||||
void insertInternalEdgePointGroup
|
void insertInternalEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Insert points to conform to a flat edge
|
//- Insert points to conform to a flat edge
|
||||||
void insertFlatEdgePointGroup
|
void insertFlatEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Insert points to conform to an open edge
|
//- Insert points to conform to an open edge
|
||||||
void insertOpenEdgePointGroup
|
void insertOpenEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Insert points to conform to multiply connected edge
|
//- Insert points to conform to multiply connected edge
|
||||||
void insertMultipleEdgePointGroup
|
void insertMultipleEdgePointGroup
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
const pointIndexHit& edHit
|
const pointIndexHit& edHit
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -336,7 +336,7 @@ private:
|
|||||||
// structure
|
// structure
|
||||||
bool insertSpecialisedFeaturePoint
|
bool insertSpecialisedFeaturePoint
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
label ptI
|
label ptI
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@ License
|
|||||||
|
|
||||||
bool Foam::conformalVoronoiMesh::insertSpecialisedFeaturePoint
|
bool Foam::conformalVoronoiMesh::insertSpecialisedFeaturePoint
|
||||||
(
|
(
|
||||||
const featureEdgeMesh& feMesh,
|
const extendedFeatureEdgeMesh& feMesh,
|
||||||
label ptI
|
label ptI
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -48,44 +48,44 @@ bool Foam::conformalVoronoiMesh::insertSpecialisedFeaturePoint
|
|||||||
label nOpen = 0;
|
label nOpen = 0;
|
||||||
label nMultiple = 0;
|
label nMultiple = 0;
|
||||||
|
|
||||||
List<featureEdgeMesh::edgeStatus> allEdStat(pEds.size());
|
List<extendedFeatureEdgeMesh::edgeStatus> allEdStat(pEds.size());
|
||||||
|
|
||||||
forAll(pEds, i)
|
forAll(pEds, i)
|
||||||
{
|
{
|
||||||
label edgeI = pEds[i];
|
label edgeI = pEds[i];
|
||||||
|
|
||||||
featureEdgeMesh::edgeStatus& eS = allEdStat[i];
|
extendedFeatureEdgeMesh::edgeStatus& eS = allEdStat[i];
|
||||||
|
|
||||||
eS = feMesh.getEdgeStatus(edgeI);
|
eS = feMesh.getEdgeStatus(edgeI);
|
||||||
|
|
||||||
switch (eS)
|
switch (eS)
|
||||||
{
|
{
|
||||||
case featureEdgeMesh::EXTERNAL:
|
case extendedFeatureEdgeMesh::EXTERNAL:
|
||||||
{
|
{
|
||||||
nExternal++;
|
nExternal++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::INTERNAL:
|
case extendedFeatureEdgeMesh::INTERNAL:
|
||||||
{
|
{
|
||||||
nInternal++;
|
nInternal++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::FLAT:
|
case extendedFeatureEdgeMesh::FLAT:
|
||||||
{
|
{
|
||||||
nFlat++;
|
nFlat++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::OPEN:
|
case extendedFeatureEdgeMesh::OPEN:
|
||||||
{
|
{
|
||||||
nOpen++;
|
nOpen++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::MULTIPLE:
|
case extendedFeatureEdgeMesh::MULTIPLE:
|
||||||
{
|
{
|
||||||
nMultiple++;
|
nMultiple++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case featureEdgeMesh::NONE:
|
case extendedFeatureEdgeMesh::NONE:
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -106,7 +106,7 @@ bool Foam::conformalVoronoiMesh::insertSpecialisedFeaturePoint
|
|||||||
|
|
||||||
// label concaveEdgeI = pEds
|
// label concaveEdgeI = pEds
|
||||||
// [
|
// [
|
||||||
// findIndex(allEdStat, featureEdgeMesh::INTERNAL)
|
// findIndex(allEdStat, extendedFeatureEdgeMesh::INTERNAL)
|
||||||
// ];
|
// ];
|
||||||
|
|
||||||
// // // Find which planes are joined to the concave edge
|
// // // Find which planes are joined to the concave edge
|
||||||
|
|||||||
@ -120,7 +120,7 @@ Foam::conformationSurfaces::conformationSurfaces
|
|||||||
features_.set
|
features_.set
|
||||||
(
|
(
|
||||||
featureI++,
|
featureI++,
|
||||||
new featureEdgeMesh
|
new extendedFeatureEdgeMesh
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
@ -153,7 +153,7 @@ Foam::conformationSurfaces::conformationSurfaces
|
|||||||
// features_.set
|
// features_.set
|
||||||
// (
|
// (
|
||||||
// featureI++,
|
// featureI++,
|
||||||
// new featureEdgeMesh
|
// new extendedFeatureEdgeMesh
|
||||||
// (
|
// (
|
||||||
// IOobject
|
// IOobject
|
||||||
// (
|
// (
|
||||||
@ -210,7 +210,7 @@ Foam::conformationSurfaces::conformationSurfaces
|
|||||||
features_.set
|
features_.set
|
||||||
(
|
(
|
||||||
featureI++,
|
featureI++,
|
||||||
new featureEdgeMesh
|
new extendedFeatureEdgeMesh
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
@ -693,13 +693,13 @@ void Foam::conformationSurfaces::findEdgeNearestByType
|
|||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
// Initialise
|
// Initialise
|
||||||
featuresHit.setSize(featureEdgeMesh::nEdgeTypes);
|
featuresHit.setSize(extendedFeatureEdgeMesh::nEdgeTypes);
|
||||||
featuresHit = -1;
|
featuresHit = -1;
|
||||||
edgeHits.setSize(featureEdgeMesh::nEdgeTypes);
|
edgeHits.setSize(extendedFeatureEdgeMesh::nEdgeTypes);
|
||||||
|
|
||||||
// Work arrays
|
// Work arrays
|
||||||
scalarField minDistSqr(featureEdgeMesh::nEdgeTypes, nearestDistSqr);
|
scalarField minDistSqr(extendedFeatureEdgeMesh::nEdgeTypes, nearestDistSqr);
|
||||||
List<pointIndexHit> hitInfo(featureEdgeMesh::nEdgeTypes);
|
List<pointIndexHit> hitInfo(extendedFeatureEdgeMesh::nEdgeTypes);
|
||||||
|
|
||||||
forAll(features_, testI)
|
forAll(features_, testI)
|
||||||
{
|
{
|
||||||
@ -733,7 +733,7 @@ void Foam::conformationSurfaces::writeFeatureObj(const fileName& prefix) const
|
|||||||
|
|
||||||
forAll(features_, i)
|
forAll(features_, i)
|
||||||
{
|
{
|
||||||
const featureEdgeMesh& fEM(features_[i]);
|
const extendedFeatureEdgeMesh& fEM(features_[i]);
|
||||||
const pointField pts(fEM.points());
|
const pointField pts(fEM.points());
|
||||||
const edgeList eds(fEM.edges());
|
const edgeList eds(fEM.edges());
|
||||||
|
|
||||||
|
|||||||
@ -37,7 +37,7 @@ SourceFiles
|
|||||||
|
|
||||||
#include "searchableSurfaces.H"
|
#include "searchableSurfaces.H"
|
||||||
#include "searchableSurfacesQueries.H"
|
#include "searchableSurfacesQueries.H"
|
||||||
#include "featureEdgeMesh.H"
|
#include "extendedFeatureEdgeMesh.H"
|
||||||
#include "triSurface.H"
|
#include "triSurface.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -63,8 +63,8 @@ class conformationSurfaces
|
|||||||
//- Reference to the searchableSurfaces object holding all geometry data
|
//- Reference to the searchableSurfaces object holding all geometry data
|
||||||
const searchableSurfaces& allGeometry_;
|
const searchableSurfaces& allGeometry_;
|
||||||
|
|
||||||
//- A list of featureEdge meshes
|
//- A list of extendedFeatureEdgeMesh
|
||||||
PtrList<featureEdgeMesh> features_;
|
PtrList<extendedFeatureEdgeMesh> features_;
|
||||||
|
|
||||||
//- The location in the mesh that specifies which portion of surfaces is
|
//- The location in the mesh that specifies which portion of surfaces is
|
||||||
// to be meshed.
|
// to be meshed.
|
||||||
@ -140,7 +140,7 @@ public:
|
|||||||
inline const searchableSurfaces& geometry() const;
|
inline const searchableSurfaces& geometry() const;
|
||||||
|
|
||||||
//- Return the object holding the feature points and edges
|
//- Return the object holding the feature points and edges
|
||||||
inline const PtrList<featureEdgeMesh>& features() const;
|
inline const PtrList<extendedFeatureEdgeMesh>& features() const;
|
||||||
|
|
||||||
//- Return the surface indices
|
//- Return the surface indices
|
||||||
inline const labelList& surfaces() const;
|
inline const labelList& surfaces() const;
|
||||||
@ -295,7 +295,8 @@ public:
|
|||||||
|
|
||||||
// Write
|
// Write
|
||||||
|
|
||||||
//- Write all components of all the featureEdgeMeshes as an obj file
|
//- Write all components of all the extendedFeatureEdgeMeshes as
|
||||||
|
// an obj file
|
||||||
void writeFeatureObj(const fileName& prefix) const;
|
void writeFeatureObj(const fileName& prefix) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -31,7 +31,7 @@ const Foam::searchableSurfaces& Foam::conformationSurfaces::geometry() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const Foam::PtrList<Foam::featureEdgeMesh>&
|
const Foam::PtrList<Foam::extendedFeatureEdgeMesh>&
|
||||||
Foam::conformationSurfaces::features() const
|
Foam::conformationSurfaces::features() const
|
||||||
{
|
{
|
||||||
return features_;
|
return features_;
|
||||||
|
|||||||
Reference in New Issue
Block a user