mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: treeDataTrisurface: expose tolerance
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -249,7 +249,11 @@ int main(int argc, char *argv[])
|
||||
// search engine
|
||||
indexedOctree<treeDataTriSurface> selectTree
|
||||
(
|
||||
treeDataTriSurface(selectSurf),
|
||||
treeDataTriSurface
|
||||
(
|
||||
selectSurf,
|
||||
indexedOctree<treeDataTriSurface>::perturbTol()
|
||||
),
|
||||
bb.extend(rndGen, 1E-4), // slightly randomize bb
|
||||
8, // maxLevel
|
||||
10, // leafsize
|
||||
|
||||
@ -714,7 +714,7 @@ Foam::point Foam::indexedOctree<Type>::pushPoint
|
||||
)
|
||||
{
|
||||
// Get local length scale.
|
||||
const vector perturbVec = perturbTol_*(bb.span());
|
||||
const vector perturbVec = perturbTol_*bb.span();
|
||||
|
||||
point perturbedPt(pt);
|
||||
|
||||
|
||||
@ -179,9 +179,14 @@ defineTypeNameAndDebug(Foam::treeDataTriSurface, 0);
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
// Construct from components
|
||||
Foam::treeDataTriSurface::treeDataTriSurface(const triSurface& surface)
|
||||
Foam::treeDataTriSurface::treeDataTriSurface
|
||||
(
|
||||
const triSurface& surface,
|
||||
const scalar planarTol
|
||||
)
|
||||
:
|
||||
surface_(surface)
|
||||
surface_(surface),
|
||||
planarTol_(planarTol)
|
||||
{}
|
||||
|
||||
|
||||
@ -437,7 +442,7 @@ bool Foam::treeDataTriSurface::intersects
|
||||
dir,
|
||||
points,
|
||||
intersection::HALF_RAY,
|
||||
indexedOctree<treeDataTriSurface>::perturbTol()
|
||||
planarTol_
|
||||
);
|
||||
|
||||
if (inter.hit() && inter.distance() <= 1)
|
||||
|
||||
@ -55,8 +55,11 @@ class treeDataTriSurface
|
||||
{
|
||||
// Private data
|
||||
|
||||
//- Reference to triSurface
|
||||
const triSurface& surface_;
|
||||
|
||||
//- Tolerance to use for intersection tests
|
||||
const scalar planarTol_;
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
@ -83,8 +86,9 @@ public:
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct from triSurface. Holds reference.
|
||||
treeDataTriSurface(const triSurface&);
|
||||
//- Construct from triSurface and tolerance for intersection
|
||||
// tests. Holds reference.
|
||||
treeDataTriSurface(const triSurface&, const scalar planarTol);
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
@ -492,7 +492,7 @@ void Foam::triSurfaceMesh::movePoints(const pointField& newPoints)
|
||||
|
||||
|
||||
const Foam::indexedOctree<Foam::treeDataTriSurface>&
|
||||
Foam::triSurfaceMesh::tree() const
|
||||
Foam::triSurfaceMesh::tree() const
|
||||
{
|
||||
if (tree_.empty())
|
||||
{
|
||||
@ -528,7 +528,7 @@ const Foam::indexedOctree<Foam::treeDataTriSurface>&
|
||||
(
|
||||
new indexedOctree<treeDataTriSurface>
|
||||
(
|
||||
treeDataTriSurface(*this),
|
||||
treeDataTriSurface(*this, tolerance_),
|
||||
bb,
|
||||
maxTreeDepth_, // maxLevel
|
||||
10, // leafsize
|
||||
@ -544,7 +544,7 @@ const Foam::indexedOctree<Foam::treeDataTriSurface>&
|
||||
|
||||
|
||||
const Foam::indexedOctree<Foam::treeDataEdge>&
|
||||
Foam::triSurfaceMesh::edgeTree() const
|
||||
Foam::triSurfaceMesh::edgeTree() const
|
||||
{
|
||||
if (edgeTree_.empty())
|
||||
{
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -64,7 +64,11 @@ Foam::triSurfaceSearch::triSurfaceSearch(const triSurface& surface)
|
||||
(
|
||||
new indexedOctree<treeDataTriSurface>
|
||||
(
|
||||
treeDataTriSurface(surface_),
|
||||
treeDataTriSurface
|
||||
(
|
||||
surface_,
|
||||
indexedOctree<treeDataTriSurface>::perturbTol()
|
||||
),
|
||||
treeBb,
|
||||
8, // maxLevel
|
||||
10, // leafsize
|
||||
|
||||
Reference in New Issue
Block a user