[MOAB-dev] r5016 - MOAB/trunk/tools/dagmc
sjackson at cae.wisc.edu
sjackson at cae.wisc.edu
Thu Jun 16 11:02:03 CDT 2011
Author: sjackson
Date: 2011-06-16 11:02:03 -0500 (Thu, 16 Jun 2011)
New Revision: 5016
Modified:
MOAB/trunk/tools/dagmc/DagMC.cpp
Log:
Remove old point-in-volume code that was commented out in December.
It will remain in SVN history if it needs to be referred to.
Modified: MOAB/trunk/tools/dagmc/DagMC.cpp
===================================================================
--- MOAB/trunk/tools/dagmc/DagMC.cpp 2011-06-16 13:44:19 UTC (rev 5015)
+++ MOAB/trunk/tools/dagmc/DagMC.cpp 2011-06-16 16:02:03 UTC (rev 5016)
@@ -855,163 +855,6 @@
return MB_SUCCESS;
}
-// Fast point_in_volume code. This function assumes that there is an
-// OBB tree containing only manifold surfaces in the volume, such that
-// the closest facet to the input position found using the OBB tree is
-// guaranteed to be on the boundary of the volume.
-//
-// This function will find the closest point on the volume boundary.
-// If that point is closest to the interior of a facet, the direction
-// of the surface normal of that facet can be used to determine if the
-// point is inside or outside of the volume. If the point is closest to
-// an edge joining two facets, then the point is inside the volume if
-// that edge is at a concavity wrt the volume. If the point is closest
-// to a vertex in the facetting, it relies on the fact that the closest
-// vertex cannot be a saddle: it must be a strict concavity or convexity.
-/* ErrorCode DagMC::point_in_volume( EntityHandle volume,
- double x, double y, double z,
- int& result,
- double u, double v, double w)
-{
- ErrorCode rval;
- const double epsilon = discardDistTol;
- const double boundary_epsilon = epsilon;
-
- // Get OBB Tree for volume
- assert(volume - setOffset < rootSets.size());
- EntityHandle root = rootSets[volume - setOffset];
-
- // Get closest point in triangulation
- const CartVect point(x,y,z);
- EntityHandle facet, surface;
- CartVect closest, diff;
- rval = obbTree.closest_to_location( point.array(), root, closest.array(), facet, &surface );
- if (MB_SUCCESS != rval) return rval;
-
- // Check for on-boundary case
- diff = closest - point;
- if (diff%diff <= boundary_epsilon*boundary_epsilon) {
- return boundary_case( volume, result, u, v, w, facet, surface );
- }
-
- // Get triangles at closest point
- std::vector<EntityHandle> &tris = triList, &surfs = surfList;
- tris.clear();
- surfs.clear();
More information about the moab-dev
mailing list