Open CASCADE Technology
7.5.0
|
This class provides tools to compute minimum distance
between two Shapes (Compound,CompSolid, Solid, Shell, Face, Wire, Edge, Vertex).
More...
#include <BRepExtrema_DistShapeShape.hxx>
Public Member Functions | |
BRepExtrema_DistShapeShape () | |
create empty tool More... | |
BRepExtrema_DistShapeShape (const TopoDS_Shape &Shape1, const TopoDS_Shape &Shape2, const Extrema_ExtFlag F=Extrema_ExtFlag_MINMAX, const Extrema_ExtAlgo A=Extrema_ExtAlgo_Grad) | |
computation of the minimum distance (value and pair of points) using default deflection Default value is Precision::Confusion(). More... | |
BRepExtrema_DistShapeShape (const TopoDS_Shape &Shape1, const TopoDS_Shape &Shape2, const Standard_Real theDeflection, const Extrema_ExtFlag F=Extrema_ExtFlag_MINMAX, const Extrema_ExtAlgo A=Extrema_ExtAlgo_Grad) | |
create tool and load both shapes into it More... | |
void | SetDeflection (const Standard_Real theDeflection) |
void | LoadS1 (const TopoDS_Shape &Shape1) |
load first shape into extrema More... | |
void | LoadS2 (const TopoDS_Shape &Shape1) |
load second shape into extrema More... | |
Standard_Boolean | Perform () |
computation of the minimum distance (value and couple of points). Parameter theDeflection is used to specify a maximum deviation of extreme distances from the minimum one. Returns IsDone status. More... | |
Standard_Boolean | IsDone () const |
True if the minimum distance is found. More... | |
Standard_Integer | NbSolution () const |
Returns the number of solutions satisfying the minimum distance. More... | |
Standard_Real | Value () const |
Returns the value of the minimum distance. More... | |
Standard_Boolean | InnerSolution () const |
True if one of the shapes is a solid and the other shape is completely or partially inside the solid. More... | |
const gp_Pnt & | PointOnShape1 (const Standard_Integer N) const |
Returns the Point corresponding to the <N>th solution on the first Shape More... | |
const gp_Pnt & | PointOnShape2 (const Standard_Integer N) const |
Returns the Point corresponding to the <N>th solution on the second Shape More... | |
BRepExtrema_SupportType | SupportTypeShape1 (const Standard_Integer N) const |
gives the type of the support where the Nth solution on the first shape is situated: IsVertex => the Nth solution on the first shape is a Vertex IsOnEdge => the Nth soluion on the first shape is on a Edge IsInFace => the Nth solution on the first shape is inside a face the corresponding support is obtained by the method SupportOnShape1 More... | |
BRepExtrema_SupportType | SupportTypeShape2 (const Standard_Integer N) const |
gives the type of the support where the Nth solution on the second shape is situated: IsVertex => the Nth solution on the second shape is a Vertex IsOnEdge => the Nth soluion on the secondt shape is on a Edge IsInFace => the Nth solution on the second shape is inside a face the corresponding support is obtained by the method SupportOnShape2 More... | |
TopoDS_Shape | SupportOnShape1 (const Standard_Integer N) const |
gives the support where the Nth solution on the first shape is situated. This support can be a Vertex, an Edge or a Face. More... | |
TopoDS_Shape | SupportOnShape2 (const Standard_Integer N) const |
gives the support where the Nth solution on the second shape is situated. This support can be a Vertex, an Edge or a Face. More... | |
void | ParOnEdgeS1 (const Standard_Integer N, Standard_Real &t) const |
gives the corresponding parameter t if the Nth solution is situated on an Egde of the first shape More... | |
void | ParOnEdgeS2 (const Standard_Integer N, Standard_Real &t) const |
gives the corresponding parameter t if the Nth solution is situated on an Egde of the first shape More... | |
void | ParOnFaceS1 (const Standard_Integer N, Standard_Real &u, Standard_Real &v) const |
gives the corresponding parameters (U,V) if the Nth solution is situated on an face of the first shape More... | |
void | ParOnFaceS2 (const Standard_Integer N, Standard_Real &u, Standard_Real &v) const |
gives the corresponding parameters (U,V) if the Nth solution is situated on an Face of the second shape More... | |
void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state of the object. More... | |
void | SetFlag (const Extrema_ExtFlag F) |
void | SetAlgo (const Extrema_ExtAlgo A) |
This class provides tools to compute minimum distance
between two Shapes (Compound,CompSolid, Solid, Shell, Face, Wire, Edge, Vertex).
BRepExtrema_DistShapeShape::BRepExtrema_DistShapeShape | ( | ) |
create empty tool
BRepExtrema_DistShapeShape::BRepExtrema_DistShapeShape | ( | const TopoDS_Shape & | Shape1, |
const TopoDS_Shape & | Shape2, | ||
const Extrema_ExtFlag | F = Extrema_ExtFlag_MINMAX , |
||
const Extrema_ExtAlgo | A = Extrema_ExtAlgo_Grad |
||
) |
computation of the minimum distance (value and pair of points) using default deflection
Default value is Precision::Confusion().
BRepExtrema_DistShapeShape::BRepExtrema_DistShapeShape | ( | const TopoDS_Shape & | Shape1, |
const TopoDS_Shape & | Shape2, | ||
const Standard_Real | theDeflection, | ||
const Extrema_ExtFlag | F = Extrema_ExtFlag_MINMAX , |
||
const Extrema_ExtAlgo | A = Extrema_ExtAlgo_Grad |
||
) |
create tool and load both shapes into it
void BRepExtrema_DistShapeShape::Dump | ( | Standard_OStream & | o | ) | const |
Prints on the stream o information on the current state of the object.
|
inline |
True if one of the shapes is a solid and the other shape
is completely or partially inside the solid.
|
inline |
True if the minimum distance is found.
void BRepExtrema_DistShapeShape::LoadS1 | ( | const TopoDS_Shape & | Shape1 | ) |
load first shape into extrema
void BRepExtrema_DistShapeShape::LoadS2 | ( | const TopoDS_Shape & | Shape1 | ) |
load second shape into extrema
|
inline |
Returns the number of solutions satisfying the minimum distance.
void BRepExtrema_DistShapeShape::ParOnEdgeS1 | ( | const Standard_Integer | N, |
Standard_Real & | t | ||
) | const |
gives the corresponding parameter t if the Nth solution
is situated on an Egde of the first shape
void BRepExtrema_DistShapeShape::ParOnEdgeS2 | ( | const Standard_Integer | N, |
Standard_Real & | t | ||
) | const |
gives the corresponding parameter t if the Nth solution
is situated on an Egde of the first shape
void BRepExtrema_DistShapeShape::ParOnFaceS1 | ( | const Standard_Integer | N, |
Standard_Real & | u, | ||
Standard_Real & | v | ||
) | const |
gives the corresponding parameters (U,V) if the Nth solution
is situated on an face of the first shape
void BRepExtrema_DistShapeShape::ParOnFaceS2 | ( | const Standard_Integer | N, |
Standard_Real & | u, | ||
Standard_Real & | v | ||
) | const |
gives the corresponding parameters (U,V) if the Nth solution
is situated on an Face of the second shape
Standard_Boolean BRepExtrema_DistShapeShape::Perform | ( | ) |
computation of the minimum distance (value and
couple of points). Parameter theDeflection is used
to specify a maximum deviation of extreme distances
from the minimum one.
Returns IsDone status.
|
inline |
Returns the Point corresponding to the <N>th solution on the first Shape
|
inline |
Returns the Point corresponding to the <N>th solution on the second Shape
|
inline |
|
inline |
|
inline |
TopoDS_Shape BRepExtrema_DistShapeShape::SupportOnShape1 | ( | const Standard_Integer | N | ) | const |
gives the support where the Nth solution on the first shape is situated.
This support can be a Vertex, an Edge or a Face.
TopoDS_Shape BRepExtrema_DistShapeShape::SupportOnShape2 | ( | const Standard_Integer | N | ) | const |
gives the support where the Nth solution on the second shape is situated.
This support can be a Vertex, an Edge or a Face.
|
inline |
gives the type of the support where the Nth solution on the first shape is situated:
IsVertex => the Nth solution on the first shape is a Vertex
IsOnEdge => the Nth soluion on the first shape is on a Edge
IsInFace => the Nth solution on the first shape is inside a face
the corresponding support is obtained by the method SupportOnShape1
|
inline |
gives the type of the support where the Nth solution on the second shape is situated:
IsVertex => the Nth solution on the second shape is a Vertex
IsOnEdge => the Nth soluion on the secondt shape is on a Edge
IsInFace => the Nth solution on the second shape is inside a face
the corresponding support is obtained by the method SupportOnShape2
Standard_Real BRepExtrema_DistShapeShape::Value | ( | ) | const |
Returns the value of the minimum distance.