#include <Standard_Stream.hxx>
#include <GEOMImpl_IBlocksOperations.hxx>
#include <GEOMImpl_Types.hxx>
#include <GEOMImpl_BlockDriver.hxx>
#include <GEOMImpl_IBlocks.hxx>
#include <GEOMImpl_IBlockTrsf.hxx>
#include <GEOMImpl_Block6Explorer.hxx>
#include <GEOMUtils.hxx>
#include <GEOM_Function.hxx>
#include <GEOM_PythonDump.hxx>
#include <GEOMAlgo_GlueAnalyser.hxx>
#include <GEOMAlgo_CoupleOfShapes.hxx>
#include <GEOMAlgo_ListOfCoupleOfShapes.hxx>
#include <GEOMAlgo_ListIteratorOfListOfCoupleOfShapes.hxx>
#include <BlockFix_CheckTool.hxx>
#include <Basics_OCCTVersion.hxx>
#include "utilities.h"
#include <OpUtil.hxx>
#include <Utils_ExceptHandlers.hxx>
#include <TFunction_DriverTable.hxx>
#include <TFunction_Driver.hxx>
#include <TDataStd_Integer.hxx>
#include <TDF_Tool.hxx>
#include <BRep_Tool.hxx>
#include <BRep_Builder.hxx>
#include <BRepTools.hxx>
#include <BRepTools_WireExplorer.hxx>
#include <BRepGProp.hxx>
#include <BRepBndLib.hxx>
#include <BRepAdaptor_Surface.hxx>
#include <BRepClass_FaceClassifier.hxx>
#include <BRepClass3d_SolidClassifier.hxx>
#include <BRepExtrema_DistShapeShape.hxx>
#include <TopAbs.hxx>
#include <TopoDS.hxx>
#include <TopoDS_Edge.hxx>
#include <TopoDS_Vertex.hxx>
#include <TopoDS_Compound.hxx>
#include <TopoDS_Iterator.hxx>
#include <TopExp.hxx>
#include <TopExp_Explorer.hxx>
#include <TopTools_MapOfShape.hxx>
#include <TopTools_Array1OfShape.hxx>
#include <TopTools_IndexedMapOfShape.hxx>
#include <TopTools_DataMapOfShapeInteger.hxx>
#include <TopTools_ListIteratorOfListOfShape.hxx>
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#include <TopTools_DataMapIteratorOfDataMapOfShapeInteger.hxx>
#include <Bnd_Box.hxx>
#include <GProp_GProps.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Surface.hxx>
#include <ShapeAnalysis_Surface.hxx>
#include <TColStd_MapOfInteger.hxx>
#include <TColStd_Array1OfReal.hxx>
#include <TColStd_Array1OfInteger.hxx>
#include <TColStd_Array2OfInteger.hxx>
#include <Precision.hxx>
#include <Standard_Failure.hxx>
#include <Standard_ErrorHandler.hxx>
Macros | |
#define | REL_NOT_CONNECTED 0 |
#define | REL_OK 1 |
#define | REL_NOT_GLUED 2 |
#define | REL_COLLISION_VV 3 |
#define | REL_COLLISION_FF 4 |
#define | REL_COLLISION_EE 5 |
#define | REL_UNKNOWN 6 |
Functions | |
static Standard_Boolean | IsQuadrangle (const TopoDS_Face &theFace, const Standard_Real theToleranceC1) |
This function returns Standard_True if the face is quadrangular. More... | |
Handle (GEOM_Object) GEOMImpl_IBlocksOperations | |
Standard_Integer | BlocksRelation (const TopoDS_Shape &theBlock1, const TopoDS_Shape &theBlock2) |
void | FindConnected (const Standard_Integer theBlockIndex, const TColStd_Array2OfInteger &theRelations, TColStd_MapOfInteger &theProcessedMap, TColStd_MapOfInteger &theConnectedMap) |
Standard_Boolean | HasAnyConnection (const Standard_Integer theBlockIndex, const TColStd_MapOfInteger &theWith, const TColStd_Array2OfInteger &theRelations, TColStd_MapOfInteger &theProcessedMap) |
Handle (TColStd_HSequenceOfTransient) GEOMImpl_IBlocksOperations | |
#define REL_COLLISION_EE 5 |
#define REL_COLLISION_FF 4 |
#define REL_COLLISION_VV 3 |
#define REL_NOT_CONNECTED 0 |
#define REL_NOT_GLUED 2 |
#define REL_OK 1 |
#define REL_UNKNOWN 6 |
Standard_Integer BlocksRelation | ( | const TopoDS_Shape & | theBlock1, |
const TopoDS_Shape & | theBlock2 | ||
) |
void FindConnected | ( | const Standard_Integer | theBlockIndex, |
const TColStd_Array2OfInteger & | theRelations, | ||
TColStd_MapOfInteger & | theProcessedMap, | ||
TColStd_MapOfInteger & | theConnectedMap | ||
) |
References REL_NOT_GLUED, and REL_OK.
Handle | ( | GEOM_Object | ) |
MakeQuad
MakeQuad2Edges
MakeQuad4Vertices
MakeHexa
MakeHexa2Faces
MakeBlockCompound
GetPoint
GetVertexNearPoint
GetEdge
GetEdgeNearPoint
GetFaceByPoints
GetFaceByEdges
GetOppositeFace
GetFaceNearPoint
GetFaceByNormale
GetShapesNearPoint
GetNonBlocks
RemoveExtraEdges
UnionFaces
CheckAndImprove
GetBlockNearPoint
GetBlockByParts
MakeMultiTransformation1D
MakeMultiTransformation2D
References BLOCK_FACE_FOUR_EDGES, GEOM_FACE, GEOMImpl_BlockDriver::GetID(), Handle(), KO, NULL, OK, and GEOMImpl_IBlocks::SetShapes().
Handle | ( | TColStd_HSequenceOfTransient | ) |
Standard_Boolean HasAnyConnection | ( | const Standard_Integer | theBlockIndex, |
const TColStd_MapOfInteger & | theWith, | ||
const TColStd_Array2OfInteger & | theRelations, | ||
TColStd_MapOfInteger & | theProcessedMap | ||
) |
References REL_NOT_CONNECTED.
|
static |
It means that it has only 1 wire with 4 edges. If there are more then 4 edges in the wire and theToleranceC1 is not negative the new implementation is used. According to it the face is quadrangular if it is quadrangular according to an old implementation or if it has a single wire with more then 4 edges that form exactly 4 bounds of C1 continuity with the given tolerance.
theFace | the face to be checked |
theToleranceC1 | if negative, it is not used; otherwise it is used to check if two neighbor edges of face have C1 continuity. |
References aCurve1(), aCurve2(), anAngle, anEdge, anIter(), aVec1(), aVec2(), Curve(), and Handle().