geom/doc/salome/gui/GEOM/input/shape_proximity.doc
Anthony Geay f438343127 Correct defining tolerances for edges and faces in static functions extrema**
Add some doc after iteration

[tuleap29468] : For Acceptance, fix compilation error

bos #29468: Advanced geometry features: distance Edge-Edge & Face-Face

[bos #29472] [EDF] (2022-T1) Advanced geometry features: curvature vector on a point of a face

[bos #29471] [EDF] (2022-T1) Advanced geometry features: iterate through holes of a face

- Added python command PatchFace
- Add description for function into GEOM_Gen.idl
- Method PatchFace was added into Geom_Superv_i and Geom_Superv

MakeFaceWires and MakeFace can raise RuntimeError in case of a non planar detected
2022-09-14 13:33:26 +03:00

53 lines
2.2 KiB
Plaintext

/*!
\page shape_proximity_page Shape Proximity
The Shape Proximity operation calculates maximal of all possible distances between two shapes.
Considering this case :
\image html Shape_proximity_0.png
The proximity of blue shape to the red one is computed like this :
For each point of blue the distance to the red is computed using perpendicular projection. The proximity value returned is equal to maximal value of all of this distances.
To do that the implemented algorithm
1 - sampling shapes by points then calculating the distance from each sample point from one shape to another
2 - find the position which gives the maximal distance
3 - improve the proximity value basing on the exact shapes using the points found on step 2 as a start position
It may happen that for some point of blue shape no distance to red shape exist using perpendicular projection.
This is typically the case here :
\image html Shape_proximity_1.png
In the case of no perpendicular projection of a point on blue shape exists, instead of perpendicular projection the minimal distance to border point of red shape is considered.
The distance from EndBlue Point is taken using EndRed Point (black line represents the distance for EndBlue).
This is just a TUI functionality. The provided class
<pre>
geompy.ShapeProximity()
</pre>
has an interface to compute proximity value with default parameters
<pre>
p = geompy.ShapeProximity()
value = p.proximity(shape1, shape2)
</pre>
Moreover, it also provides the functionality to customize the calculation.
For example, compute coarse proximity value basing on the number of sampling points for each shape,
or compute the precise value as a refining operation after the coarse value calculation.
<pre>
p = geompy.ShapeProximity()
p.setShapes(shape1, shape2) # customize calculator with input shapes
p.setSampling(shape1, 100) # assign number of sample points for the first shape
p.setSampling(shape2, 25) # assign number of sample points for the second shape
coarse_proximity = p.coarseProximity() # rough proximity value basing on the shape sampling and tessellation
fine_proximity = p.preciseProximity() # more precise proximity value using exact shapes
</pre>
See also a \ref tui_shape_proximity_page "TUI example".
*/