Open CASCADE Technology 7.8.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 | |
BRepExtrema_DistShapeShape (const TopoDS_Shape &Shape1, const TopoDS_Shape &Shape2, const Extrema_ExtFlag F=Extrema_ExtFlag_MINMAX, const Extrema_ExtAlgo A=Extrema_ExtAlgo_Grad, const Message_ProgressRange &theRange=Message_ProgressRange()) | |
create tool and computation of the minimum distance (value and pair of points) using default deflection in single thread mode. Default deflection value is Precision::Confusion(). | |
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, const Message_ProgressRange &theRange=Message_ProgressRange()) | |
create tool and computation of the minimum distance (value and pair of points) in single thread mode. Default deflection value is Precision::Confusion(). | |
void | SetDeflection (const Standard_Real theDeflection) |
Sets deflection to computation of the minimum distance | |
void | LoadS1 (const TopoDS_Shape &Shape1) |
load first shape into extrema | |
void | LoadS2 (const TopoDS_Shape &Shape1) |
load second shape into extrema | |
Standard_Boolean | Perform (const Message_ProgressRange &theRange=Message_ProgressRange()) |
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. theRange - the progress indicator of algorithm | |
Standard_Boolean | IsDone () const |
True if the minimum distance is found. | |
Standard_Integer | NbSolution () const |
Returns the number of solutions satisfying the minimum distance. | |
Standard_Real | Value () const |
Returns the value of the minimum distance. | |
Standard_Boolean | InnerSolution () const |
True if one of the shapes is a solid and the other shape is completely or partially inside the solid. | |
const gp_Pnt & | PointOnShape1 (const Standard_Integer N) const |
Returns the Point corresponding to the <N>th solution on the first Shape | |
const gp_Pnt & | PointOnShape2 (const Standard_Integer N) const |
Returns the Point corresponding to the <N>th solution on the second Shape | |
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 | |
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 | |
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. | |
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. | |
void | ParOnEdgeS1 (const Standard_Integer N, Standard_Real &t) const |
gives the corresponding parameter t if the Nth solution is situated on an Edge of the first shape | |
void | ParOnEdgeS2 (const Standard_Integer N, Standard_Real &t) const |
gives the corresponding parameter t if the Nth solution is situated on an Edge of the first shape | |
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 | |
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 | |
void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state of the object. | |
void | SetFlag (const Extrema_ExtFlag F) |
Sets unused parameter Obsolete. | |
void | SetAlgo (const Extrema_ExtAlgo A) |
Sets unused parameter Obsolete. | |
void | SetMultiThread (Standard_Boolean theIsMultiThread) |
If isMultiThread == Standard_True then computation will be performed in parallel. | |
Standard_Boolean | IsMultiThread () const |
Returns Standard_True then computation will be performed in parallel Default value is Standard_False. | |
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 , |
||
const Message_ProgressRange & | theRange = Message_ProgressRange() |
||
) |
create tool and computation of the minimum distance (value and pair of points) using default deflection in single thread mode.
Default deflection value is Precision::Confusion().
Shape1 | - the first shape for distance computation |
Shape2 | - the second shape for distance computation |
F | and |
A | are not used in computation and are obsolete. |
theRange | - the progress indicator of algorithm |
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 , |
||
const Message_ProgressRange & | theRange = Message_ProgressRange() |
||
) |
create tool and computation of the minimum distance (value and pair of points) in single thread mode.
Default deflection value is Precision::Confusion().
Shape1 | - the first shape for distance computation |
Shape2 | - the second shape for distance computation |
theDeflection | - the presition of distance computation |
F | and |
A | are not used in computation and are obsolete. |
theRange | - the progress indicator of algorithm |
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.
|
inline |
Returns Standard_True then computation will be performed in parallel Default value is Standard_False.
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 Edge 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 Edge 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 | ( | const Message_ProgressRange & | theRange = Message_ProgressRange() | ) |
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.
theRange - the progress indicator of algorithm
|
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 |
Sets unused parameter Obsolete.
|
inline |
Sets deflection to computation of the minimum distance
|
inline |
Sets unused parameter Obsolete.
|
inline |
If isMultiThread == Standard_True then computation will be performed in parallel.
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.