#ifndef AdvApp2Var_Data_HeaderFile
#define AdvApp2Var_Data_HeaderFile
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
-#endif
-
#include <AdvApp2Var_Data_f2c.hxx>
//
struct mdnombr_1_ {
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-#ifndef _Standard_Integer_HeaderFile
+#ifndef AdvApp2Var_EvaluatorFunc2Var_HeaderFile
+#define AdvApp2Var_EvaluatorFunc2Var_HeaderFile
+
#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
#include <Standard_PrimitiveTypes.hxx>
-#endif
-
-#ifndef AdvApp2Var_EvaluatorFunc2Var_HeaderFile
-#define AdvApp2Var_EvaluatorFunc2Var_HeaderFile
// History - the C function pointer converted to a virtual class
// in order to get rid of usage of static functions and static data
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-#ifndef _Standard_Integer_HeaderFile
+#ifndef _AdvApprox_EvaluatorFunction_HeaderFile
+#define _AdvApprox_EvaluatorFunction_HeaderFile
+
#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
#include <Standard_PrimitiveTypes.hxx>
-#endif
-#ifndef _AdvApprox_EvaluatorFunction_HeaderFile
-#define _AdvApprox_EvaluatorFunction_HeaderFile
// abv 01.04.2009: the C function pointer converted to a virtual class
// in order to get rid of usage of static functions and static data
typedef NCollection_List<BOPAlgo_EdgeInfo> BOPAlgo_ListOfEdgeInfo;
typedef BOPAlgo_ListOfEdgeInfo::Iterator BOPAlgo_ListIteratorOfListOfEdgeInfo;
-#define _NCollection_MapHasher
#include <NCollection_IndexedDataMap.hxx>
#include <TopTools_ShapeMapHasher.hxx>
typedef NCollection_IndexedDataMap<TopoDS_Shape, \
BOPAlgo_ListOfEdgeInfo, \
TopTools_ShapeMapHasher> BOPAlgo_IndexedDataMapOfShapeListOfEdgeInfo;
-#undef _NCollection_MapHasher
-
//=======================================================================
//function : MakeWire
typedef NCollection_DataMap<Standard_Integer, Standard_Integer, TColStd_MapIntegerHasher> BOPCol_DataMapOfIntegerInteger;
typedef BOPCol_DataMapOfIntegerInteger::Iterator BOPCol_DataMapIteratorOfDataMapOfIntegerInteger;
-#undef _NCollection_MapHasher
-
#endif
typedef NCollection_DataMap<Standard_Integer, BOPCol_ListOfInteger, TColStd_MapIntegerHasher> BOPCol_DataMapOfIntegerListOfInteger;
typedef BOPCol_DataMapOfIntegerListOfInteger::Iterator BOPCol_DataMapIteratorOfDataMapOfIntegerListOfInteger;
-#undef _NCollection_MapHasher
-
#endif
typedef NCollection_DataMap<Standard_Integer, BOPCol_ListOfShape, TColStd_MapIntegerHasher> BOPCol_DataMapOfIntegerListOfShape;
typedef BOPCol_DataMapOfIntegerListOfShape::Iterator BOPCol_DataMapIteratorOfDataMapOfIntegerListOfShape;
-#undef _NCollection_MapHasher
-
-
#endif
typedef NCollection_DataMap<Standard_Integer, BOPCol_MapOfInteger, TColStd_MapIntegerHasher> BOPCol_DataMapOfIntegerMapOfInteger;
typedef BOPCol_DataMapOfIntegerMapOfInteger::Iterator BOPCol_DataMapIteratorOfDataMapOfIntegerMapOfInteger;
-#undef _NCollection_MapHasher
-
#endif
typedef NCollection_DataMap<Standard_Integer, Standard_Real, TColStd_MapIntegerHasher> BOPCol_DataMapOfIntegerReal;
typedef BOPCol_DataMapOfIntegerReal::Iterator BOPCol_DataMapIteratorOfDataMapOfIntegerReal;
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPCol_DataMapOfIntegerShape_HeaderFile
#define BOPCol_DataMapOfIntegerShape_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <TopoDS_Shape.hxx>
#include <TColStd_MapIntegerHasher.hxx>
#include <NCollection_DataMap.hxx>
-
typedef NCollection_DataMap<Standard_Integer, TopoDS_Shape, TColStd_MapIntegerHasher> BOPCol_DataMapOfIntegerShape;
typedef BOPCol_DataMapOfIntegerShape::Iterator BOPCol_DataMapIteratorOfDataMapOfIntegerShape;
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPCol_DataMapOfShapeAddress_HeaderFile
#define BOPCol_DataMapOfShapeAddress_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <TopoDS_Shape.hxx>
#include <TopTools_ShapeMapHasher.hxx>
typedef NCollection_DataMap<TopoDS_Shape, Standard_Address, TopTools_ShapeMapHasher> BOPCol_DataMapOfShapeAddress;
typedef BOPCol_DataMapOfShapeAddress::Iterator BOPCol_DataMapIteratorOfDataMapOfShapeAddress;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPCol_DataMapOfShapeInteger_HeaderFile
#define BOPCol_DataMapOfShapeInteger_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <TopoDS_Shape.hxx>
#include <TopTools_ShapeMapHasher.hxx>
typedef NCollection_DataMap<TopoDS_Shape, Standard_Integer, TopTools_ShapeMapHasher> BOPCol_DataMapOfShapeInteger;
typedef BOPCol_DataMapOfShapeInteger::Iterator BOPCol_DataMapIteratorOfDataMapOfShapeInteger;
-#undef _NCollection_MapHasher
-
#endif
#include <NCollection_DataMap.hxx>
-
-
typedef NCollection_DataMap<TopoDS_Shape, BOPCol_ListOfShape, TopTools_ShapeMapHasher> BOPCol_DataMapOfShapeListOfShape;
typedef BOPCol_DataMapOfShapeListOfShape::Iterator BOPCol_DataMapIteratorOfDataMapOfShapeListOfShape;
-#undef _NCollection_MapHasher
-
#endif
typedef NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher> BOPCol_DataMapOfShapeShape;
typedef BOPCol_DataMapOfShapeShape::Iterator BOPCol_DataMapIteratorOfDataMapOfShapeShape;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPCol_DataMapOfTransientAddress_HeaderFile
#define BOPCol_DataMapOfTransientAddress_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-
#include <NCollection_DataMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
typedef NCollection_DataMap<Handle(Standard_Transient), Standard_Address, TColStd_MapTransientHasher> BOPCol_DataMapOfTransientAddress;
typedef BOPCol_DataMapOfTransientAddress::Iterator BOPCol_DataMapIteratorOfDataMapOfTransientAddress;
-#undef _NCollection_MapHasher
-
-
#endif
typedef NCollection_IndexedDataMap<Standard_Integer, BOPCol_ListOfInteger, TColStd_MapIntegerHasher> BOPCol_IndexedDataMapOfIntegerListOfInteger;
-#undef _NCollection_MapHasher
-
#endif
#include <NCollection_IndexedDataMap.hxx>
-
typedef NCollection_IndexedDataMap<TopoDS_Shape, Bnd_Box, TopTools_ShapeMapHasher> BOPCol_IndexedDataMapOfShapeBox;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPCol_IndexedDataMapOfShapeInteger_HeaderFile
#define BOPCol_IndexedDataMapOfShapeInteger_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <TopoDS_Shape.hxx>
#include <TopTools_ShapeMapHasher.hxx>
typedef NCollection_IndexedDataMap<TopoDS_Shape, Standard_Integer, TopTools_ShapeMapHasher> BOPCol_IndexedDataMapOfShapeInteger;
-#undef _NCollection_MapHasher
-
#endif
#include <NCollection_IndexedDataMap.hxx>
typedef NCollection_IndexedDataMap<TopoDS_Shape, BOPCol_ListOfShape, TopTools_ShapeMapHasher> BOPCol_IndexedDataMapOfShapeListOfShape;
-#undef _NCollection_MapHasher
-
#endif
typedef NCollection_IndexedMap<Standard_Integer, TColStd_MapIntegerHasher> BOPCol_IndexedMapOfInteger;
-#undef _NCollection_MapHasher
-
#endif
#include <TopoDS_Shape.hxx>
#include <TopTools_ShapeMapHasher.hxx>
-
-
#include <NCollection_IndexedMap.hxx>
typedef NCollection_IndexedMap<TopoDS_Shape, TopTools_ShapeMapHasher> BOPCol_IndexedMapOfShape;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPCol_ListOfInteger_HeaderFile
#define BOPCol_ListOfInteger_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <NCollection_List.hxx>
typedef NCollection_List<Standard_Integer> BOPCol_ListOfInteger;
#ifndef BOPCol_MapOfInteger_HeaderFile
#define BOPCol_MapOfInteger_HeaderFile
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <TColStd_MapIntegerHasher.hxx>
-
#include <NCollection_Map.hxx>
typedef NCollection_Map<Standard_Integer, TColStd_MapIntegerHasher> BOPCol_MapOfInteger;
typedef BOPCol_MapOfInteger::Iterator BOPCol_MapIteratorOfMapOfInteger;
-#undef _NCollection_MapHasher
-
#endif
typedef NCollection_Map<TopoDS_Shape, TopTools_OrientedShapeMapHasher> BOPCol_MapOfOrientedShape;
typedef BOPCol_MapOfOrientedShape::Iterator BOPCol_MapIteratorOfMapOfOrientedShape;
-#undef _NCollection_MapHasher
-
-
#endif
typedef NCollection_Map<TopoDS_Shape, TopTools_ShapeMapHasher> BOPCol_MapOfShape;
typedef BOPCol_MapOfShape::Iterator BOPCol_MapIteratorOfMapOfShape;
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPCol_VectorOfInteger_HeaderFile
#define BOPCol_VectorOfInteger_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <BOPCol_Array1.hxx>
typedef BOPCol_Array1<Standard_Integer> BOPDS_VectorOfInteger;
-
#endif
#ifndef BOPDS_DataMapOfIntegerListOfPaveBlock_HeaderFile
#define BOPDS_DataMapOfIntegerListOfPaveBlock_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#define _NCollection_MapHasher
#include <NCollection_DataMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPDS_ListOfPaveBlock.hxx>
typedef NCollection_DataMap<Standard_Integer, BOPDS_ListOfPaveBlock, TColStd_MapIntegerHasher> BOPDS_DataMapOfIntegerListOfPaveBlock;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPDS_DataMapOfPassKeyListOfPaveBlock_HeaderFile
#define BOPDS_DataMapOfPassKeyListOfPaveBlock_HeaderFile
-
-#define _NCollection_MapHasher
#include <NCollection_DataMap.hxx>
#include <BOPDS_PassKey.hxx>
typedef NCollection_DataMap<BOPDS_PassKey, BOPDS_ListOfPaveBlock, BOPDS_PassKeyMapHasher> BOPDS_DataMapOfPassKeyListOfPaveBlock;
typedef BOPDS_DataMapOfPassKeyListOfPaveBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPassKeyListOfPaveBlock;
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPDS_DataMapOfPaveBlockCommonBlock_HeaderFile
#define BOPDS_DataMapOfPaveBlockCommonBlock_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_DataMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPDS_CommonBlock.hxx>
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), Handle(BOPDS_CommonBlock), TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockCommonBlock;
typedef BOPDS_DataMapOfPaveBlockCommonBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockCommonBlock;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPDS_DataMapOfPaveBlockListOfInteger_HeaderFile
#define BOPDS_DataMapOfPaveBlockListOfInteger_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_DataMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPCol_ListOfInteger.hxx>
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), BOPCol_ListOfInteger, TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockListOfInteger;
typedef BOPDS_DataMapOfPaveBlockListOfInteger::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfInteger;
-
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPDS_DataMapOfPaveBlockListOfPaveBlock_HeaderFile
#define BOPDS_DataMapOfPaveBlockListOfPaveBlock_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_DataMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPDS_PaveBlock.hxx>
typedef NCollection_DataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock, TColStd_MapTransientHasher> BOPDS_DataMapOfPaveBlockListOfPaveBlock;
typedef BOPDS_DataMapOfPaveBlockListOfPaveBlock::Iterator BOPDS_DataMapIteratorOfDataMapOfPaveBlockListOfPaveBlock;
-#undef _NCollection_MapHasher
-
-
#endif
#include <BOPDS_CoupleOfPaveBlocks.hxx>
-#define _NCollection_MapHasher
#include <NCollection_DataMap.hxx>
#include <TopTools_ShapeMapHasher.hxx>
typedef NCollection_DataMap<TopoDS_Shape, BOPDS_CoupleOfPaveBlocks, TopTools_ShapeMapHasher> BOPDS_DataMapOfShapeCoupleOfPaveBlocks;
typedef BOPDS_DataMapOfShapeCoupleOfPaveBlocks::Iterator BOPDS_DataMapIteratorOfDataMapOfShapeCoupleOfPaveBlocks;
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPDS_IndexedDataMapOfPaveBlockListOfInteger_HeaderFile
#define BOPDS_IndexedDataMapOfPaveBlockListOfInteger_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_IndexedDataMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPCol_ListOfInteger.hxx>
typedef NCollection_IndexedDataMap<Handle(BOPDS_PaveBlock), BOPCol_ListOfInteger, TColStd_MapTransientHasher> BOPDS_IndexedDataMapOfPaveBlockListOfInteger;
-
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_HeaderFile
#define BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_IndexedDataMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPDS_PaveBlock.hxx>
#include <BOPDS_ListOfPaveBlock.hxx>
typedef NCollection_IndexedDataMap<Handle(BOPDS_PaveBlock), BOPDS_ListOfPaveBlock, TColStd_MapTransientHasher> BOPDS_IndexedDataMapOfPaveBlockListOfPaveBlock;
-
-#undef _NCollection_MapHasher
-
#endif
#include <BOPDS_CoupleOfPaveBlocks.hxx>
-#define _NCollection_MapHasher
#include <NCollection_IndexedDataMap.hxx>
#include <TopTools_ShapeMapHasher.hxx>
typedef NCollection_IndexedDataMap<TopoDS_Shape, BOPDS_CoupleOfPaveBlocks, TopTools_ShapeMapHasher> BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks;
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPDS_IndexedMapOfPaveBlock_HeaderFile
#define BOPDS_IndexedMapOfPaveBlock_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_IndexedMap.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPDS_PaveBlock.hxx>
-typedef NCollection_IndexedMap<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher> BOPDS_IndexedMapOfPaveBlock;
-
-#undef _NCollection_MapHasher
-
+typedef NCollection_IndexedMap<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher> BOPDS_IndexedMapOfPaveBlock;
#endif
#ifndef BOPDS_Interf_HeaderFile
#define BOPDS_Interf_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-
-#ifndef _IntTools_CommonPrt_HeaderFile
#include <IntTools_CommonPrt.hxx>
-#endif
-
#include <NCollection_BaseAllocator.hxx>
#include <BOPDS_VectorOfCurve.hxx>
#include <BOPDS_VectorOfPoint.hxx>
+
/**
* The class BOPDS_Interf is is to store the information about
* the interference between two shapes.
#ifndef BOPDS_MapOfCommonBlock_HeaderFile
#define BOPDS_MapOfCommonBlock_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_Map.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPDS_CommonBlock.hxx>
typedef NCollection_Map<Handle(BOPDS_CommonBlock), TColStd_MapTransientHasher> BOPDS_MapOfCommonBlock;
typedef BOPDS_MapOfCommonBlock::Iterator BOPDS_MapIteratorOfMapOfCommonBlock;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPDS_MapOfPassKey_HeaderFile
#define BOPDS_MapOfPassKey_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_Map.hxx>
#include <BOPDS_PassKeyMapHasher.hxx>
#include <BOPDS_PassKey.hxx>
typedef NCollection_Map<BOPDS_PassKey, BOPDS_PassKeyMapHasher> BOPDS_MapOfPassKey;
typedef BOPDS_MapOfPassKey::Iterator BOPDS_MapIteratorMapOfPassKey;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPDS_MapOfPassKeyBoolean_HeaderFile
#define BOPDS_MapOfPassKeyBoolean_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_Map.hxx>
#include <BOPDS_PassKeyMapHasher.hxx>
#include <BOPDS_PassKeyBoolean.hxx>
typedef NCollection_Map<BOPDS_PassKeyBoolean, BOPDS_PassKeyMapHasher> BOPDS_MapOfPassKeyBoolean;
typedef BOPDS_MapOfPassKeyBoolean::Iterator BOPDS_MapIteratorMapOfPassKeyBoolean;
-#undef _NCollection_MapHasher
-
#endif
#ifndef BOPDS_MapOfPave_HeaderFile
#define BOPDS_MapOfPave_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_Map.hxx>
#include <BOPDS_PaveMapHasher.hxx>
#include <BOPDS_Pave.hxx>
-
typedef NCollection_Map<BOPDS_Pave, BOPDS_PaveMapHasher> BOPDS_MapOfPave;
typedef BOPDS_MapOfPave::Iterator BOPDS_MapIteratorMapOfPave;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPDS_MapOfPaveBlock_HeaderFile
#define BOPDS_MapOfPaveBlock_HeaderFile
-#define _NCollection_MapHasher
#include <NCollection_Map.hxx>
#include <TColStd_MapTransientHasher.hxx>
#include <BOPDS_PaveBlock.hxx>
typedef NCollection_Map<Handle(BOPDS_PaveBlock), TColStd_MapTransientHasher> BOPDS_MapOfPaveBlock;
typedef BOPDS_MapOfPaveBlock::Iterator BOPDS_MapIteratorOfMapOfPaveBlock;
-#undef _NCollection_MapHasher
-
-
#endif
#ifndef BOPTools_ConnexityBlock_HeaderFile
#define BOPTools_ConnexityBlock_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <NCollection_BaseAllocator.hxx>
#include <BOPCol_ListOfShape.hxx>
#include <TopoDS_Shape.hxx>
#include <TopTools_ShapeMapHasher.hxx>
-#define _NCollection_MapHasher
#include <NCollection_DataMap.hxx>
typedef NCollection_DataMap<TopoDS_Shape, BOPTools_Set, TopTools_ShapeMapHasher> BOPTools_DataMapOfShapeSet;
typedef BOPTools_DataMapOfShapeSet::Iterator BOPCol_DataMapIteratorOfDataMapOfShapeSet;
-
-#undef _NCollection_MapHasher
-
#endif
#include <BOPTools_Set.hxx>
#include <BOPTools_SetMapHasher.hxx>
-#define _NCollection_MapHasher
#include <NCollection_Map.hxx>
typedef NCollection_Map<BOPTools_Set, BOPTools_SetMapHasher> BOPTools_MapOfSet;
typedef BOPTools_MapOfSet::Iterator BOPTools_MapIteratorOfMapOfSet;
-#undef _NCollection_MapHasher
-
#endif
#ifndef _BRepBuilderAPI_BndBoxTreeSelector_Header
#define _BRepBuilderAPI_BndBoxTreeSelector_Header
-#ifndef _TColStd_ListOfInteger_HeaderFile
#include <TColStd_ListOfInteger.hxx>
-#endif
-#ifndef _Bnd_Box_HeaderFile
#include <Bnd_Box.hxx>
-#endif
-#ifndef NCollection_UBTree_HeaderFile
#include <NCollection_UBTree.hxx>
-#endif
typedef NCollection_UBTree <Standard_Integer, Bnd_Box> BRepBuilderAPI_BndBoxTree;
#ifndef _BRepBuilderAPI_CellFilter_HeaderFile
#define _BRepBuilderAPI_CellFilter_HeaderFile
-#ifndef _gp_XYZ_HeaderFile
-#include <gp_XYZ.hxx>
-#endif
-#ifndef _gp_XY_HeaderFile
-#include <gp_XY.hxx>
-#endif
-#ifndef NCollection_CellFilter_HeaderFile
-#include <NCollection_CellFilter.hxx>
-#endif
-#ifndef _BRepBuilderAPI_VertexInspector_HeaderFile
#include <BRepBuilderAPI_VertexInspector.hxx>
-#endif
typedef NCollection_CellFilter<BRepBuilderAPI_VertexInspector> BRepBuilderAPI_CellFilter;
#ifndef _BRepBuilderAPI_VertexInspector_Header
#define _BRepBuilderAPI_VertexInspector_Header
-#ifndef _TColStd_ListOfInteger_HeaderFile
#include <TColStd_ListOfInteger.hxx>
-#endif
-#ifndef NCollection_Vector_HeaderFile
#include <NCollection_Vector.hxx>
-#endif
-#ifndef _gp_XY_HeaderFile
#include <gp_XY.hxx>
-#endif
-#ifndef _gp_XYZ_HeaderFile
#include <gp_XYZ.hxx>
-#endif
-
-#ifndef NCollection_CellFilter_HeaderFile
#include <NCollection_CellFilter.hxx>
-#endif
typedef NCollection_Vector<gp_XYZ> VectorOfPoint;
#ifndef _BRepExtrema_DistShapeShape_HeaderFile
#define _BRepExtrema_DistShapeShape_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _BRepExtrema_SeqOfSolution_HeaderFile
#include <BRepExtrema_SeqOfSolution.hxx>
-#endif
-#ifndef _BRepExtrema_SolutionElem_HeaderFile
#include <BRepExtrema_SolutionElem.hxx>
-#endif
-#ifndef _TopoDS_Shape_HeaderFile
#include <TopoDS_Shape.hxx>
-#endif
-#ifndef _TopTools_IndexedMapOfShape_HeaderFile
#include <TopTools_IndexedMapOfShape.hxx>
-#endif
-#ifndef _Extrema_ExtFlag_HeaderFile
#include <Extrema_ExtFlag.hxx>
-#endif
-#ifndef _Extrema_ExtAlgo_HeaderFile
#include <Extrema_ExtAlgo.hxx>
-#endif
-#ifndef _BRepExtrema_SupportType_HeaderFile
#include <BRepExtrema_SupportType.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
-#include <Standard_OStream.hxx>
-#endif
-#ifndef _gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
-#endif
+#include <Standard_OStream.hxx>
+#include <Standard_DefineAlloc.hxx>
+
class TopoDS_Shape;
class TopTools_IndexedMapOfShape;
class Bnd_SeqOfBox;
#ifndef _BRepExtrema_DistanceSS_HeaderFile
#define _BRepExtrema_DistanceSS_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _BRepExtrema_SeqOfSolution_HeaderFile
#include <BRepExtrema_SeqOfSolution.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Extrema_ExtFlag_HeaderFile
#include <Extrema_ExtFlag.hxx>
-#endif
-#ifndef _Extrema_ExtAlgo_HeaderFile
#include <Extrema_ExtAlgo.hxx>
-#endif
-#ifndef _Precision_HeaderFile
#include <Precision.hxx>
-#endif
+#include <Standard_DefineAlloc.hxx>
+
class TopoDS_Shape;
class Bnd_Box;
class TopoDS_Vertex;
#ifndef _BRepExtrema_ExtCC_HeaderFile
#define _BRepExtrema_ExtCC_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Extrema_ExtCC_HeaderFile
#include <Extrema_ExtCC.hxx>
-#endif
-#ifndef _Handle_BRepAdaptor_HCurve_HeaderFile
#include <BRepAdaptor_HCurve.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
+#include <Standard_DefineAlloc.hxx>
+
class BRepAdaptor_HCurve;
class TopoDS_Edge;
class gp_Pnt;
#ifndef _BRepExtrema_ExtCF_HeaderFile
#define _BRepExtrema_ExtCF_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Extrema_ExtCS_HeaderFile
#include <Extrema_ExtCS.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _TColStd_SequenceOfReal_HeaderFile
#include <TColStd_SequenceOfReal.hxx>
-#endif
-#ifndef _Extrema_SequenceOfPOnSurf_HeaderFile
#include <Extrema_SequenceOfPOnSurf.hxx>
-#endif
-#ifndef _Extrema_SequenceOfPOnCurv_HeaderFile
#include <Extrema_SequenceOfPOnCurv.hxx>
-#endif
-#ifndef _Handle_BRepAdaptor_HSurface_HeaderFile
#include <BRepAdaptor_HSurface.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _Extrema_POnCurv_HeaderFile
#include <Extrema_POnCurv.hxx>
-#endif
-#ifndef _Extrema_POnSurf_HeaderFile
#include <Extrema_POnSurf.hxx>
-#endif
+#include <Standard_DefineAlloc.hxx>
+
class BRepAdaptor_HSurface;
class TopoDS_Edge;
class TopoDS_Face;
#ifndef _BRepExtrema_ExtFF_HeaderFile
#define _BRepExtrema_ExtFF_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Extrema_ExtSS_HeaderFile
#include <Extrema_ExtSS.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _TColStd_SequenceOfReal_HeaderFile
#include <TColStd_SequenceOfReal.hxx>
-#endif
-#ifndef _Extrema_SequenceOfPOnSurf_HeaderFile
#include <Extrema_SequenceOfPOnSurf.hxx>
-#endif
-#ifndef _Handle_BRepAdaptor_HSurface_HeaderFile
#include <BRepAdaptor_HSurface.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _Extrema_POnSurf_HeaderFile
#include <Extrema_POnSurf.hxx>
-#endif
+#include <Standard_DefineAlloc.hxx>
+
class BRepAdaptor_HSurface;
class TopoDS_Face;
class gp_Pnt;
#ifndef _BRepExtrema_ExtPC_HeaderFile
#define _BRepExtrema_ExtPC_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Extrema_ExtPC_HeaderFile
#include <Extrema_ExtPC.hxx>
-#endif
-#ifndef _Handle_BRepAdaptor_HCurve_HeaderFile
#include <BRepAdaptor_HCurve.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
+#include <Standard_DefineAlloc.hxx>
+
class BRepAdaptor_HCurve;
class TopoDS_Vertex;
class TopoDS_Edge;
#ifndef _BRepExtrema_ExtPF_HeaderFile
#define _BRepExtrema_ExtPF_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Extrema_ExtPS_HeaderFile
#include <Extrema_ExtPS.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
-#endif
-#ifndef _TColStd_SequenceOfReal_HeaderFile
#include <TColStd_SequenceOfReal.hxx>
-#endif
-#ifndef _Extrema_SequenceOfPOnSurf_HeaderFile
#include <Extrema_SequenceOfPOnSurf.hxx>
-#endif
-#ifndef _BRepAdaptor_Surface_HeaderFile
#include <BRepAdaptor_Surface.hxx>
-#endif
-#ifndef _Extrema_ExtFlag_HeaderFile
#include <Extrema_ExtFlag.hxx>
-#endif
-#ifndef _Extrema_ExtAlgo_HeaderFile
#include <Extrema_ExtAlgo.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
+
class TopoDS_Vertex;
class TopoDS_Face;
class gp_Pnt;
#ifndef _BRepExtrema_Poly_HeaderFile
#define _BRepExtrema_Poly_HeaderFile
-#ifndef _Standard_HeaderFile
#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
class TopoDS_Shape;
class gp_Pnt;
-
class BRepExtrema_Poly
{
public:
- //! returns Standard_True if OK. <br>
+ //! returns Standard_True if OK.
Standard_EXPORT static Standard_Boolean Distance(const TopoDS_Shape& S1,const TopoDS_Shape& S2,gp_Pnt& P1,gp_Pnt& P2,Standard_Real& dist);
};
#ifndef _BRepExtrema_SeqOfSolution_HeaderFile
#define _BRepExtrema_SeqOfSolution_HeaderFile
-#ifndef _NCollection_Sequence_HeaderFile
#include <NCollection_Sequence.hxx>
-#endif
-#ifndef _BRepExtrema_SolutionElem_HeaderFile
#include <BRepExtrema_SolutionElem.hxx>
-#endif
typedef NCollection_Sequence<BRepExtrema_SolutionElem> BRepExtrema_SeqOfSolution;
#ifndef _BRepExtrema_SolutionElem_HeaderFile
#define _BRepExtrema_SolutionElem_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
-#endif
-#ifndef _BRepExtrema_SupportType_HeaderFile
#include <BRepExtrema_SupportType.hxx>
-#endif
-#ifndef _TopoDS_Vertex_HeaderFile
#include <TopoDS_Vertex.hxx>
-#endif
-#ifndef _TopoDS_Edge_HeaderFile
#include <TopoDS_Edge.hxx>
-#endif
-#ifndef _TopoDS_Face_HeaderFile
#include <TopoDS_Face.hxx>
-#endif
-class gp_Pnt;
-class TopoDS_Vertex;
-class TopoDS_Edge;
-class TopoDS_Face;
-
-//! This class is used to store information relative to the <br>
-//! minimum distance between two shapes. <br>
+//! This class is used to store information relative to the minimum distance between two shapes.
class BRepExtrema_SolutionElem
{
public:
DEFINE_STANDARD_ALLOC
- Standard_EXPORT BRepExtrema_SolutionElem()
- : myDist(0.), myPoint(0.,0.,0.), mySupType(BRepExtrema_IsVertex), myPar1(0.), myPar2(0.)
- {
- }
- //! initialisation of the fields <br>
- //! This constructor is used when the solution of a distance is a Vertex. <br>
- //! The different initialized fields are: <br>
- //! _ the distance d <br>
- //! _ the solution point <br>
- //! _ the type of solution <br>
- //! _ and the Vertex. <br>
- Standard_EXPORT BRepExtrema_SolutionElem(const Standard_Real d,const gp_Pnt& Pt,const BRepExtrema_SupportType SolType,const TopoDS_Vertex& vertex)
- : myDist(d), myPoint(Pt), mySupType(SolType), myVertex(vertex), myPar1(0.), myPar2(0.)
- {
- }
- //! initialisation of the fiels. <br>
- //! This constructor is used when the solution of distance is on an Edge. <br>
- //! The different initialized fields are: <br>
- //! _ the distance d, <br>
- //! _ the solution point, <br>
- //! _ the type of solution, <br>
- //! _ the Edge, <br>
- //! _ and the parameter t to locate the solution. <br>
- Standard_EXPORT BRepExtrema_SolutionElem(const Standard_Real d,const gp_Pnt& Pt,const BRepExtrema_SupportType SolType,const TopoDS_Edge& edge,const Standard_Real t)
- : myDist(d), myPoint(Pt), mySupType(SolType), myEdge(edge), myPar1(t), myPar2(0.)
+ //! Empty constructor
+ BRepExtrema_SolutionElem()
+ : myDist (0.0),
+ myPoint (0.0, 0.0, 0.0),
+ mySupType (BRepExtrema_IsVertex),
+ myPar1 (0.0),
+ myPar2 (0.0)
{
}
- //! initialisation of the fields <br>
- //! This constructor is used when the solution of distance is in <br>
- //! a Face. The different initialized fields are: <br>
- //! _ the distance d, <br>
- //! _ the solution point, <br>
- //! _ the type of solution, <br>
- //! _ the Face, <br>
- //! _ and the parameter u et v to locate the solution. <br>
- Standard_EXPORT BRepExtrema_SolutionElem(const Standard_Real d,const gp_Pnt& Pt,const BRepExtrema_SupportType SolType,const TopoDS_Face& face,const Standard_Real u,const Standard_Real v)
- : myDist(d), myPoint(Pt), mySupType(SolType), myFace(face), myPar1(u), myPar2(v)
- {
- }
- //! returns the value of the minimum distance. <br>
- Standard_EXPORT Standard_Real Dist() const
+
+ //! This constructor is used when the solution of a distance is a Vertex.
+ //! The different initialized fields are:
+ //! @param theDist the distance
+ //! @param thePoint the solution point
+ //! @param theSolType the type of solution
+ //! @param theVertex and the Vertex
+ BRepExtrema_SolutionElem (const Standard_Real theDist,
+ const gp_Pnt& thePoint,
+ const BRepExtrema_SupportType theSolType,
+ const TopoDS_Vertex& theVertex)
+ : myDist (theDist),
+ myPoint (thePoint),
+ mySupType (theSolType),
+ myVertex (theVertex),
+ myPar1 (0.0),
+ myPar2 (0.0) {}
+
+ //! This constructor is used when the solution of distance is on an Edge.
+ //! The different initialized fields are:
+ //! @param theDist the distance
+ //! @param thePoint the solution point
+ //! @param theSolType the type of solution
+ //! @param theEdge the Edge
+ //! @param theParam the parameter to locate the solution
+ BRepExtrema_SolutionElem (const Standard_Real theDist,
+ const gp_Pnt& thePoint,
+ const BRepExtrema_SupportType theSolType,
+ const TopoDS_Edge& theEdge,
+ const Standard_Real theParam)
+ : myDist (theDist),
+ myPoint (thePoint),
+ mySupType (theSolType),
+ myEdge (theEdge),
+ myPar1 (theParam),
+ myPar2 (0.0) {}
+
+ //! This constructor is used when the solution of distance is in a Face.
+ //! The different initialized fields are:
+ //! @param theDist the distance
+ //! @param thePoint the solution point
+ //! @param theSolType the type of solution
+ //! @param theFace the Face
+ //! @param theU U parameter to locate the solution
+ //! @param theV V parameter to locate the solution
+ BRepExtrema_SolutionElem (const Standard_Real theDist,
+ const gp_Pnt& thePoint,
+ const BRepExtrema_SupportType theSolType,
+ const TopoDS_Face& theFace,
+ const Standard_Real theU,
+ const Standard_Real theV)
+ : myDist (theDist),
+ myPoint (thePoint),
+ mySupType (theSolType),
+ myFace (theFace),
+ myPar1 (theU),
+ myPar2 (theV) {}
+
+ //! Returns the value of the minimum distance.
+ Standard_Real Dist() const
{
return myDist;
}
- //! returns the solution point. <br>
- Standard_EXPORT const gp_Pnt & Point() const
+
+ //! Returns the solution point.
+ const gp_Pnt& Point() const
{
return myPoint;
}
- //! returns the Support type : <br>
- //! IsVertex => The solution is a vertex. <br>
- //! IsOnEdge => The solution belongs to an Edge. <br>
- //! IsInFace => The solution is inside a Face. <br>
- Standard_EXPORT BRepExtrema_SupportType SupportKind() const
+
+ //! Returns the Support type:
+ //! IsVertex => The solution is a vertex.
+ //! IsOnEdge => The solution belongs to an Edge.
+ //! IsInFace => The solution is inside a Face.
+ BRepExtrema_SupportType SupportKind() const
{
return mySupType;
}
- //! returns the vertex if the solution is a Vertex. <br>
- Standard_EXPORT const TopoDS_Vertex & Vertex() const
+
+ //! Returns the vertex if the solution is a Vertex.
+ const TopoDS_Vertex& Vertex() const
{
return myVertex;
}
- //! returns the vertex if the solution is an Edge. <br>
- Standard_EXPORT const TopoDS_Edge & Edge() const
+
+ //! Returns the vertex if the solution is an Edge.
+ const TopoDS_Edge& Edge() const
{
return myEdge;
}
- //! returns the vertex if the solution is an Face. <br>
- Standard_EXPORT const TopoDS_Face & Face() const
+
+ //! Returns the vertex if the solution is an Face.
+ const TopoDS_Face& Face() const
{
return myFace;
}
- //! returns the parameter t if the solution is on Edge. <br>
- Standard_EXPORT void EdgeParameter(Standard_Real& par1) const
+
+ //! Returns the parameter value if the solution is on Edge.
+ void EdgeParameter (Standard_Real& theParam) const
{
- par1 = myPar1;
+ theParam = myPar1;
}
- //! returns the parameters u et v if the solution is in a Face. <br>
- Standard_EXPORT void FaceParameter(Standard_Real& par1,Standard_Real& par2) const
+
+ //! Returns the parameters U and V if the solution is in a Face.
+ void FaceParameter (Standard_Real& theU,
+ Standard_Real& theV) const
{
- par1 = myPar1;
- par2 = myPar2;
+ theU = myPar1;
+ theV = myPar2;
}
private:
TopoDS_Face myFace;
Standard_Real myPar1;
Standard_Real myPar2;
+
};
#endif
BRepExtrema_IsInFace
};
-#ifndef _Standard_PrimitiveTypes_HeaderFile
-#include <Standard_PrimitiveTypes.hxx>
-#endif
-
#endif
class TColStd_SequenceOfInteger;
class TColStd_MapOfInteger;
-//! Compute the Delaunay's triangulation with the <br>
-//! algorithm of Watson. <br>
-class BRepMesh_Delaun {
+//! Compute the Delaunay's triangulation with the algorithm of Watson.
+class BRepMesh_Delaun
+{
public:
DEFINE_STANDARD_ALLOC
- //! Creates the triangulation with an empty Mesh <br>
- //! data structure. <br>
- Standard_EXPORT BRepMesh_Delaun( BRepMesh_Array1OfVertexOfDelaun& theVertices,
- const Standard_Boolean isPositive = Standard_True );
+ //! Creates the triangulation with an empty Mesh data structure.
+ Standard_EXPORT BRepMesh_Delaun (BRepMesh_Array1OfVertexOfDelaun& theVertices,
+ const Standard_Boolean isPositive = Standard_True);
- //! Creates the triangulation with and existent <br>
- //! Mesh data structure. <br>
- Standard_EXPORT BRepMesh_Delaun( const Handle(BRepMesh_DataStructureOfDelaun)& theOldMesh,
+ //! Creates the triangulation with an existent Mesh data structure.
+ Standard_EXPORT BRepMesh_Delaun (const Handle(BRepMesh_DataStructureOfDelaun)& theOldMesh,
BRepMesh_Array1OfVertexOfDelaun& theVertices,
- const Standard_Boolean isPositive = Standard_True );
+ const Standard_Boolean isPositive = Standard_True);
- //! Creates the triangulation with and existant <br>
- //! Mesh data structure. <br>
- Standard_EXPORT BRepMesh_Delaun( const Handle(BRepMesh_DataStructureOfDelaun)& theOldMesh,
+ //! Creates the triangulation with an existant Mesh data structure.
+ Standard_EXPORT BRepMesh_Delaun (const Handle(BRepMesh_DataStructureOfDelaun)& theOldMesh,
TColStd_Array1OfInteger& theVertexIndices,
- const Standard_Boolean isPositive = Standard_True );
+ const Standard_Boolean isPositive = Standard_True);
- //! Initializes the triangulation with an array of <br>
- //! vertices. <br>
- Standard_EXPORT void Init( BRepMesh_Array1OfVertexOfDelaun& theVertices );
+ //! Initializes the triangulation with an array of vertices.
+ Standard_EXPORT void Init (BRepMesh_Array1OfVertexOfDelaun& theVertices);
- //! Removes a vertex from the triangulation. <br>
- Standard_EXPORT void RemoveVertex( const BRepMesh_Vertex& theVertex );
+ //! Removes a vertex from the triangulation.
+ Standard_EXPORT void RemoveVertex (const BRepMesh_Vertex& theVertex);
- //! Adds some vertices into the triangulation. <br>
- Standard_EXPORT void AddVertices( BRepMesh_Array1OfVertexOfDelaun& theVertices );
+ //! Adds some vertices into the triangulation.
+ Standard_EXPORT void AddVertices (BRepMesh_Array1OfVertexOfDelaun& theVertices);
- //! Modify mesh to use the edge. Return True if done. <br>
- Standard_EXPORT Standard_Boolean UseEdge( const Standard_Integer theEdge );
+ //! Modify mesh to use the edge.
+ //! @return True if done
+ Standard_EXPORT Standard_Boolean UseEdge (const Standard_Integer theEdge);
- //! Gives the Mesh data structure. <br>
- Standard_EXPORT const Handle(BRepMesh_DataStructureOfDelaun)& Result() const
+ //! Gives the Mesh data structure.
+ const Handle(BRepMesh_DataStructureOfDelaun)& Result() const
{
return myMeshData;
}
- //! Gives the list of frontier edges <br>
+ //! Gives the list of frontier edges.
inline Handle(BRepMesh_MapOfInteger) Frontier() const
{
- return getEdgesByType( BRepMesh_Frontier );
+ return getEdgesByType (BRepMesh_Frontier);
}
- //! Gives the list of internal edges <br>
+ //! Gives the list of internal edges.
inline Handle(BRepMesh_MapOfInteger) InternalEdges() const
{
- return getEdgesByType( BRepMesh_Fixed );
+ return getEdgesByType (BRepMesh_Fixed);
}
- //! Gives the list of free edges used only one time <br>
+ //! Gives the list of free edges used only one time
inline Handle(BRepMesh_MapOfInteger) FreeEdges() const
{
- return getEdgesByType( BRepMesh_Free );
+ return getEdgesByType (BRepMesh_Free);
}
-
- //! Gives vertex with the given index <br>
- inline const BRepMesh_Vertex& GetVertex( const Standard_Integer theIndex ) const
+
+ //! Gives vertex with the given index
+ inline const BRepMesh_Vertex& GetVertex (const Standard_Integer theIndex) const
{
- return myMeshData->GetNode( theIndex );
+ return myMeshData->GetNode (theIndex);
}
- //! Gives edge with the given index <br>
- inline const BRepMesh_Edge& GetEdge( const Standard_Integer theIndex ) const
+ //! Gives edge with the given index
+ inline const BRepMesh_Edge& GetEdge (const Standard_Integer theIndex) const
{
- return myMeshData->GetLink( theIndex );
+ return myMeshData->GetLink (theIndex);
}
- //! Gives triangle with the given index <br>
- inline const BRepMesh_Triangle& GetTriangle( const Standard_Integer theIndex ) const
+ //! Gives triangle with the given index
+ inline const BRepMesh_Triangle& GetTriangle (const Standard_Integer theIndex) const
{
- return myMeshData->GetElement( theIndex );
+ return myMeshData->GetElement (theIndex);
}
- //! Test is the given triangle contains the given vertex. <br>
- //! If <theEdgeOn> != 0 the vertex lies onto the edge index <br>
- //! returned through this parameter. <br>
- Standard_EXPORT Standard_Boolean Contains( const Standard_Integer theTriangleId,
+ //! Test is the given triangle contains the given vertex.
+ //! If theEdgeOn != 0 the vertex lies onto the edge index
+ //! returned through this parameter.
+ Standard_EXPORT Standard_Boolean Contains (const Standard_Integer theTriangleId,
const BRepMesh_Vertex& theVertex,
- Standard_Integer& theEdgeOn ) const;
+ Standard_Integer& theEdgeOn) const;
private:
typedef NCollection_Handle<NCollection_Map<Standard_Integer> > HandleOfMapOfInteger;
- //! Add boundig box for edge defined by start & end point to <br>
- //! the given vector of bounding boxes for triangulation edges <br>
- void fillBndBox( NCollection_Sequence<Bnd_B2d>& theBoxes,
+ //! Add boundig box for edge defined by start & end point to
+ //! the given vector of bounding boxes for triangulation edges.
+ void fillBndBox (NCollection_Sequence<Bnd_B2d>& theBoxes,
const BRepMesh_Vertex& theV1,
- const BRepMesh_Vertex& theV2 );
+ const BRepMesh_Vertex& theV2);
- //! Gives the list of edges with type defined by the input parameter. <br>
- //! If the given type is BRepMesh_Free returns list of edges <br>
- //! that have number of connected elements less or equal 1 <br>
- Handle(BRepMesh_MapOfInteger) getEdgesByType( const BRepMesh_DegreeOfFreedom theEdgeType ) const;
+ //! Gives the list of edges with type defined by the input parameter.
+ //! If the given type is BRepMesh_Free returns list of edges
+ //! that have number of connected elements less or equal 1.
+ Handle(BRepMesh_MapOfInteger) getEdgesByType (const BRepMesh_DegreeOfFreedom theEdgeType) const;
- //! Create super mesh and run triangulation procedure <br>
- void perform( Bnd_Box2d& theBndBox,
- TColStd_Array1OfInteger& theVertexIndices );
+ //! Create super mesh and run triangulation procedure.
+ void perform (Bnd_Box2d& theBndBox,
+ TColStd_Array1OfInteger& theVertexIndices);
- //! Build the super mesh. <br>
- void superMesh( const Bnd_Box2d& theBox );
+ //! Build the super mesh.
+ void superMesh (const Bnd_Box2d& theBox);
- //! Computes the triangulation and adds the vertices, <br>
- //! edges and triangles to the Mesh data structure. <br>
- void compute( TColStd_Array1OfInteger& theVertexIndices );
+ //! Computes the triangulation and adds the vertices,
+ //! edges and triangles to the Mesh data structure.
+ void compute (TColStd_Array1OfInteger& theVertexIndices);
- //! Adjust the mesh on the frontier. <br>
+ //! Adjust the mesh on the frontier.
void frontierAdjust();
- //! Find left polygon of the given edge and call meshPolygon. <br>
- Standard_Boolean meshLeftPolygonOf( const Standard_Integer theEdgeIndex,
+ //! Find left polygon of the given edge and call meshPolygon.
+ Standard_Boolean meshLeftPolygonOf (const Standard_Integer theEdgeIndex,
const Standard_Boolean isForward,
- HandleOfMapOfInteger theSkipped = NULL );
-
- //! Find next link starting from the given node and has maximum <br>
- //! angle respect the given reference link. <br>
- //! Each time the next link is found other neighbor links at the pivot <br>
- //! node are marked as leprous and will be excluded from consideration <br>
- //! next time until a hanging end is occured. <br>
- Standard_Integer findNextPolygonLink( const Standard_Integer& theFirstNode,
+ HandleOfMapOfInteger theSkipped = NULL);
+
+ //! Find next link starting from the given node and has maximum
+ //! angle respect the given reference link.
+ //! Each time the next link is found other neighbor links at the pivot
+ //! node are marked as leprous and will be excluded from consideration
+ //! next time until a hanging end is occured.
+ Standard_Integer findNextPolygonLink (const Standard_Integer& theFirstNode,
const Standard_Integer& thePivotNode,
const BRepMesh_Vertex& thePivotVertex,
const gp_Vec2d& theRefLinkDir,
NCollection_Map<Standard_Integer>& theDeadLinks,
Standard_Integer& theNextPivotNode,
gp_Vec2d& theNextLinkDir,
- Bnd_B2d& theNextLinkBndBox );
+ Bnd_B2d& theNextLinkBndBox);
- //! Check is the given link intersects the polygon boundaries. <br>
- //! Returns bounding box for the given link trough the <theLinkBndBox> parameter. <br>
- Standard_Boolean checkIntersection( const BRepMesh_Edge& theLink,
+ //! Check is the given link intersects the polygon boundaries.
+ //! Returns bounding box for the given link trough the theLinkBndBox parameter.
+ Standard_Boolean checkIntersection (const BRepMesh_Edge& theLink,
const TColStd_SequenceOfInteger& thePolygon,
const NCollection_Sequence<Bnd_B2d>& thePolyBoxes,
const Standard_Boolean isConsiderEndPointTouch,
const Standard_Boolean isConsiderPointOnEdge,
const Standard_Boolean isSkipLastEdge,
- Bnd_B2d& theLinkBndBox ) const;
+ Bnd_B2d& theLinkBndBox) const;
- //! Triangulatiion of a closed polygon described by the list <br>
- //! of indexes of its edges in the structure. <br>
- //! (negative index means reversed edge) <br>
- void meshPolygon( TColStd_SequenceOfInteger& thePolygon,
+ //! Triangulatiion of a closed polygon described by the list
+ //! of indexes of its edges in the structure.
+ //! (negative index means reversed edge)
+ void meshPolygon (TColStd_SequenceOfInteger& thePolygon,
NCollection_Sequence<Bnd_B2d>& thePolyBoxes,
- HandleOfMapOfInteger theSkipped = NULL );
+ HandleOfMapOfInteger theSkipped = NULL);
- //! Triangulatiion of a closed simple polygon (polygon without glued edges and loops) <br>
- //! described by the list of indexes of its edges in the structure. <br>
- //! (negative index means reversed edge) <br>
- void meshSimplePolygon( TColStd_SequenceOfInteger& thePolygon,
- NCollection_Sequence<Bnd_B2d>& thePolyBoxes );
+ //! Triangulatiion of a closed simple polygon (polygon without glued edges and loops)
+ //! described by the list of indexes of its edges in the structure.
+ //! (negative index means reversed edge)
+ void meshSimplePolygon (TColStd_SequenceOfInteger& thePolygon,
+ NCollection_Sequence<Bnd_B2d>& thePolyBoxes);
//! Triangulation of closed polygon containing only three edges.
- inline Standard_Boolean meshElementaryPolygon( const TColStd_SequenceOfInteger& thePolygon );
+ inline Standard_Boolean meshElementaryPolygon (const TColStd_SequenceOfInteger& thePolygon);
- //! Creates the triangles beetween the given node <br>
- //! and the given polyline. <br>
- void createTriangles( const Standard_Integer theVertexIndex,
- BRepMesh_MapOfIntegerInteger& thePoly );
+ //! Creates the triangles beetween the given node and the given polyline.
+ void createTriangles (const Standard_Integer theVertexIndex,
+ BRepMesh_MapOfIntegerInteger& thePoly);
- //! Add a triangle based on the given oriented edges into mesh <br>
- inline void addTriangle( const Standard_Integer (&theEdgesId)[3],
+ //! Add a triangle based on the given oriented edges into mesh
+ inline void addTriangle (const Standard_Integer (&theEdgesId)[3],
const Standard_Boolean (&theEdgesOri)[3],
- const Standard_Integer (&theNodesId)[3] );
-
- //! Deletes the triangle with the given index and <br>
- //! adds the free edges into the map. <br>
- //! When an edge is suppressed more than one time <br>
- //! it is destroyed. <br>
- void deleteTriangle( const Standard_Integer theIndex,
- BRepMesh_MapOfIntegerInteger& theLoopEdges );
-
- //! Returns start and end nodes of the given edge <br>
- //! in respect to its orientation. <br>
- void getOrientedNodes(const BRepMesh_Edge& theEdge,
- const Standard_Boolean isForward,
- Standard_Integer *theNodes) const;
-
- //! Processes loop within the given polygon formed by range of its <br>
- //! links specified by start and end link indices. <br>
- void processLoop(const Standard_Integer theLinkFrom,
- const Standard_Integer theLinkTo,
- const TColStd_SequenceOfInteger& thePolygon,
- const NCollection_Sequence<Bnd_B2d>& thePolyBoxes);
+ const Standard_Integer (&theNodesId)[3]);
+
+ //! Deletes the triangle with the given index and adds the free edges into the map.
+ //! When an edge is suppressed more than one time it is destroyed.
+ void deleteTriangle (const Standard_Integer theIndex,
+ BRepMesh_MapOfIntegerInteger& theLoopEdges);
+
+ //! Returns start and end nodes of the given edge in respect to its orientation.
+ void getOrientedNodes (const BRepMesh_Edge& theEdge,
+ const Standard_Boolean isForward,
+ Standard_Integer* theNodes) const;
+
+ //! Processes loop within the given polygon formed by range of its
+ //! links specified by start and end link indices.
+ void processLoop (const Standard_Integer theLinkFrom,
+ const Standard_Integer theLinkTo,
+ const TColStd_SequenceOfInteger& thePolygon,
+ const NCollection_Sequence<Bnd_B2d>& thePolyBoxes);
//! Creates new link based on the given nodes and updates the given polygon.
- Standard_Integer createAndReplacePolygonLink(const Standard_Integer theNodes[],
- const gp_Pnt2d thePnts [],
- const Standard_Integer theRootIndex,
- const ReplaceFlag theReplaceFlag,
- TColStd_SequenceOfInteger& thePolygon,
- NCollection_Sequence<Bnd_B2d>& thePolyBoxes);
+ Standard_Integer createAndReplacePolygonLink (const Standard_Integer theNodes[],
+ const gp_Pnt2d thePnts [],
+ const Standard_Integer theRootIndex,
+ const ReplaceFlag theReplaceFlag,
+ TColStd_SequenceOfInteger& thePolygon,
+ NCollection_Sequence<Bnd_B2d>& thePolyBoxes);
- //! Creates the triangles on new nodes <br>
- void createTrianglesOnNewVertices( TColStd_Array1OfInteger& theVertexIndices );
+ //! Creates the triangles on new nodes.
+ void createTrianglesOnNewVertices (TColStd_Array1OfInteger& theVertexIndices);
- //! Cleanup mesh from the free triangles <br>
+ //! Cleanup mesh from the free triangles.
void cleanupMesh();
//! Goes through the neighbour triangles around the given node started
//! frontier edge or FALSE elsewhere.
//! Stop link is used to prevent cycles.
//! Previous element Id is used to identify next neighbor element.
- Standard_Boolean isBoundToFrontier(const Standard_Integer theRefNodeId,
- const Standard_Integer theRefLinkId,
- const Standard_Integer theStopLinkId,
- const Standard_Integer thePrevElementId);
-
- //! Remove internal triangles from the given polygon <br>
- void cleanupPolygon( const TColStd_SequenceOfInteger& thePolygon,
- const NCollection_Sequence<Bnd_B2d>& thePolyBoxes );
-
- //! Checks is the given vertex lies inside the polygon <br>
- Standard_Boolean isVertexInsidePolygon( const Standard_Integer& theVertexId,
- const NCollection_Vector<Standard_Integer>& thePolygonVertices ) const;
-
- //! Remove all triangles and edges that are placed <br>
- //! inside the polygon or crossed it. <br>
- void killTrianglesAroundVertex( const Standard_Integer theZombieNodeId,
+ Standard_Boolean isBoundToFrontier (const Standard_Integer theRefNodeId,
+ const Standard_Integer theRefLinkId,
+ const Standard_Integer theStopLinkId,
+ const Standard_Integer thePrevElementId);
+
+ //! Remove internal triangles from the given polygon.
+ void cleanupPolygon (const TColStd_SequenceOfInteger& thePolygon,
+ const NCollection_Sequence<Bnd_B2d>& thePolyBoxes);
+
+ //! Checks is the given vertex lies inside the polygon.
+ Standard_Boolean isVertexInsidePolygon (const Standard_Integer& theVertexId,
+ const NCollection_Vector<Standard_Integer>& thePolygonVertices) const;
+
+ //! Remove all triangles and edges that are placed inside the polygon or crossed it.
+ void killTrianglesAroundVertex (const Standard_Integer theZombieNodeId,
const NCollection_Vector<Standard_Integer>& thePolyVertices,
const NCollection_Map<Standard_Integer>& thePolyVerticesFindMap,
const TColStd_SequenceOfInteger& thePolygon,
const NCollection_Sequence<Bnd_B2d>& thePolyBoxes,
NCollection_Map<Standard_Integer>& theSurvivedLinks,
- BRepMesh_MapOfIntegerInteger& theLoopEdges );
+ BRepMesh_MapOfIntegerInteger& theLoopEdges);
- //! Checks is the given link crosses the polygon boundary. <br>
- //! If yes, kills its triangles and checks neighbor links on <br>
- //! boundary intersection. Does nothing elsewhere. <br>
- void killTrianglesOnIntersectingLinks( const Standard_Integer& theLinkToCheckId,
+ //! Checks is the given link crosses the polygon boundary.
+ //! If yes, kills its triangles and checks neighbor links on boundary intersection. Does nothing elsewhere.
+ void killTrianglesOnIntersectingLinks (const Standard_Integer& theLinkToCheckId,
const BRepMesh_Edge& theLinkToCheck,
const Standard_Integer& theEndPoint,
const TColStd_SequenceOfInteger& thePolygon,
const NCollection_Sequence<Bnd_B2d>& thePolyBoxes,
NCollection_Map<Standard_Integer>& theSurvivedLinks,
- BRepMesh_MapOfIntegerInteger& theLoopEdges );
+ BRepMesh_MapOfIntegerInteger& theLoopEdges);
- //! Kill triangles bound to the given link. <br>
- void killLinkTriangles( const Standard_Integer& theLinkId,
- BRepMesh_MapOfIntegerInteger& theLoopEdges );
+ //! Kill triangles bound to the given link.
+ void killLinkTriangles (const Standard_Integer& theLinkId,
+ BRepMesh_MapOfIntegerInteger& theLoopEdges);
- //! Calculates distances between the given point <br>
- //! and edges of triangle. <br>
- Standard_Real calculateDist( const gp_XY theVEdges[3],
+ //! Calculates distances between the given point and edges of triangle.
+ Standard_Real calculateDist (const gp_XY theVEdges[3],
const gp_XY thePoints[3],
const Standard_Integer theEdgesId[3],
const BRepMesh_Vertex& theVertex,
Standard_Real theDistance[3],
Standard_Real theSqModulus[3],
- Standard_Integer& theEdgeOn ) const;
-
- //! Classifies the point in case of coincidence of two vectors. <br>
- //! Returns zero value if point is out of segment and non zero <br>
- //! value if point is between the first and the second point of segment. <br>
- //! thePoint1 - the start point of a segment (base point) <br>
- //! thePoint2 - the end point of a segment <br>
- //! thePointToCheck - the point to classify <br>
- Standard_Integer classifyPoint( const gp_XY& thePoint1,
+ Standard_Integer& theEdgeOn) const;
+
+ //! Classifies the point in case of coincidence of two vectors.
+ //! @param thePoint1 the start point of a segment (base point)
+ //! @param thePoint2 the end point of a segment
+ //! @param thePointToCheck the point to classify
+ //! @returns zero value if point is out of segment and non zero value if point is between the first and the second point of segment
+ Standard_Integer classifyPoint (const gp_XY& thePoint1,
const gp_XY& thePoint2,
- const gp_XY& thePointToCheck ) const;
+ const gp_XY& thePointToCheck) const;
- //! Checks intersection between the two segments. <br>
- IntFlag intSegSeg( const BRepMesh_Edge& theEdge1,
+ //! Checks intersection between the two segments.
+ IntFlag intSegSeg (const BRepMesh_Edge& theEdge1,
const BRepMesh_Edge& theEdge2,
const Standard_Boolean isConsiderEndPointTouch,
const Standard_Boolean isConsiderPointOnEdge,
gp_Pnt2d& theIntPnt) const;
- //! Returns area of the loop of the given polygon defined by <br>
- //! indices of its start and end links. <br>
- Standard_Real polyArea( const TColStd_SequenceOfInteger& thePolygon,
+ //! Returns area of the loop of the given polygon defined by indices of its start and end links.
+ Standard_Real polyArea (const TColStd_SequenceOfInteger& thePolygon,
const Standard_Integer theStartIndex,
- const Standard_Integer theEndIndex ) const;
+ const Standard_Integer theEndIndex) const;
+
private:
- Handle(BRepMesh_DataStructureOfDelaun) myMeshData;
- Standard_Boolean myIsPositiveOrientation;
- BRepMesh_CircleTool myCircles;
- Standard_Integer mySupVert[3];
- BRepMesh_Triangle mySupTrian;
+ Handle(BRepMesh_DataStructureOfDelaun) myMeshData;
+ Standard_Boolean myIsPositiveOrientation;
+ BRepMesh_CircleTool myCircles;
+ Standard_Integer mySupVert[3];
+ BRepMesh_Triangle mySupTrian;
+
};
#endif
#ifndef _BRepMesh_PluginEntryType_HeaderFile
#define _BRepMesh_PluginEntryType_HeaderFile
-#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
-#endif
class TopoDS_Shape;
class BRepMesh_DiscretRoot;
#ifndef _BRepMesh_Status_HeaderFile
#define _BRepMesh_Status_HeaderFile
-//! Discribes the wires discretisation. <br>
-enum BRepMesh_Status {
-BRepMesh_NoError = 0x0,
-BRepMesh_OpenWire = 0x1,
-BRepMesh_SelfIntersectingWire = 0x2,
-BRepMesh_Failure = 0x4,
-BRepMesh_ReMesh = 0x8
+//! Discribes the wires discretisation.
+enum BRepMesh_Status
+{
+ BRepMesh_NoError = 0x0,
+ BRepMesh_OpenWire = 0x1,
+ BRepMesh_SelfIntersectingWire = 0x2,
+ BRepMesh_Failure = 0x4,
+ BRepMesh_ReMesh = 0x8
};
#endif
#ifndef _BRepMesh_VectorOfVertex_HeaderFile
#define _BRepMesh_VectorOfVertex_HeaderFile
-#ifndef _BRepMesh_Vertex_HeaderFile
#include <BRepMesh_Vertex.hxx>
-#endif
-#ifndef NCollection_Vector_HeaderFile
#include <NCollection_Vector.hxx>
-#endif
typedef NCollection_Vector<BRepMesh_Vertex> BRepMesh_VectorOfVertex;
#ifndef _BRepMesh_VertexCellFilter_HeaderFile
#define _BRepMesh_VertexCellFilter_HeaderFile
-#ifndef _gp_XYZ_HeaderFile
#include <gp_XYZ.hxx>
-#endif
-#ifndef _gp_XY_HeaderFile
#include <gp_XY.hxx>
-#endif
-#ifndef NCollection_CellFilter_HeaderFile
#include <NCollection_CellFilter.hxx>
-#endif
-#ifndef _BRepMesh_VertexInspector_HeaderFile
#include <BRepMesh_VertexInspector.hxx>
-#endif
typedef NCollection_CellFilter<BRepMesh_VertexInspector> BRepMesh_VertexCellFilter;
#define _BRepMesh_VertexInspector_HeaderFile
#include <BRepMesh_ListOfInteger.hxx>
-#ifndef _Precision_HeaderFile
#include <Precision.hxx>
-#endif
-#ifndef _gp_XY_HeaderFile
#include <gp_XY.hxx>
-#endif
-#ifndef _gp_XYZ_HeaderFile
#include <gp_XYZ.hxx>
-#endif
-
-#ifndef NCollection_CellFilter_HeaderFile
#include <NCollection_CellFilter.hxx>
-#endif
-#ifndef _BRepMesh_Vertex_HeaderFile
#include <BRepMesh_Vertex.hxx>
-#endif
-#ifndef _BRepMesh_VectorOfVertex_HeaderFile
#include <BRepMesh_VectorOfVertex.hxx>
-#endif
-#ifndef _TColStd_Array1OfReal_HeaderFile
#include <TColStd_Array1OfReal.hxx>
-#endif
#include <BRepMesh_BaseAllocator.hxx>
//=======================================================================
#ifndef _BRepPrim_OneAxis_HeaderFile
#define _BRepPrim_OneAxis_HeaderFile
-#ifndef _BRepPrim_Builder_HeaderFile
#include <BRepPrim_Builder.hxx>
-#endif
-#ifndef _gp_Ax2_HeaderFile
#include <gp_Ax2.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _TopoDS_Shell_HeaderFile
#include <TopoDS_Shell.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _TopoDS_Vertex_HeaderFile
#include <TopoDS_Vertex.hxx>
-#endif
-#ifndef _TopoDS_Edge_HeaderFile
#include <TopoDS_Edge.hxx>
-#endif
-#ifndef _TopoDS_Wire_HeaderFile
#include <TopoDS_Wire.hxx>
-#endif
-#ifndef _TopoDS_Face_HeaderFile
#include <TopoDS_Face.hxx>
-#endif
+
class Standard_DomainError;
class Standard_OutOfRange;
class TopoDS_Shell;
#ifndef _BRepSweep_NumLinearRegularSweep_HeaderFile
#define _BRepSweep_NumLinearRegularSweep_HeaderFile
-#ifndef _BRepSweep_Builder_HeaderFile
#include <BRepSweep_Builder.hxx>
-#endif
-#ifndef _TopoDS_Shape_HeaderFile
#include <TopoDS_Shape.hxx>
-#endif
-#ifndef _Sweep_NumShape_HeaderFile
#include <Sweep_NumShape.hxx>
-#endif
-#ifndef _BRepSweep_Tool_HeaderFile
#include <BRepSweep_Tool.hxx>
-#endif
-#ifndef _Sweep_NumShapeTool_HeaderFile
#include <Sweep_NumShapeTool.hxx>
-#endif
-#ifndef _BRepSweep_Array2OfShapesOfNumLinearRegularSweep_HeaderFile
#include <BRepSweep_Array2OfShapesOfNumLinearRegularSweep.hxx>
-#endif
-#ifndef _TColStd_Array2OfBoolean_HeaderFile
#include <TColStd_Array2OfBoolean.hxx>
-#endif
-#ifndef _Handle_BRepSweep_SequenceNodeOfSequenceOfShapesOfNumLinearRegularSweep_HeaderFile
#include <BRepSweep_SequenceNodeOfSequenceOfShapesOfNumLinearRegularSweep.hxx>
-#endif
-#ifndef _TopAbs_Orientation_HeaderFile
#include <TopAbs_Orientation.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
+
class Standard_NoMoreObject;
class Standard_NoSuchObject;
class Standard_RangeError;
#ifndef _BSplCLib_EvaluatorFunction_HeaderFile
#define _BSplCLib_EvaluatorFunction_HeaderFile
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
-#include <Standard_PrimitiveTypes.hxx>
-#endif
+#include <Standard_TypeDef.hxx>
// History - C function pointer converted to a virtual class
// in order to get rid of usage of static functions and static data
#ifndef _DBC_BaseArray_HeaderFile
#define _DBC_BaseArray_HeaderFile
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _DBC_DBVArray_HeaderFile
#include <DBC_DBVArray.hxx>
-#endif
-#ifndef _Standard_Storable_HeaderFile
#include <Standard_Storable.hxx>
-#endif
-#ifndef _Standard_Address_HeaderFile
-#include <Standard_Address.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
-#include <Standard_PrimitiveTypes.hxx>
-#endif
+#include <Standard_TypeDef.hxx>
+
class Standard_NullObject;
class Standard_NegativeValue;
class Standard_DimensionMismatch;
#define _DBC_DBVArray_HeaderFile
#ifdef OBJY
-#ifndef _PStandard_ArrayNode_HeaderFile
#include <PStandard_ArrayNode.hxx>
-#endif
declare(ooVArray,PHandle_PStandard_ArrayNode)
typedef ooVArray(PHandle_PStandard_ArrayNode) DBC_DBVArray;
#endif
#include <stdio.h>
-#ifndef _Storage_BaseDriver_HeaderFile
#include <Storage_BaseDriver.hxx>
-#endif
-#ifndef _Storage_Error_HeaderFile
#include <Storage_Error.hxx>
-#endif
-#ifndef _Storage_OpenMode_HeaderFile
#include <Storage_OpenMode.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Character_HeaderFile
-#include <Standard_Character.hxx>
-#endif
-#ifndef _Standard_ExtCharacter_HeaderFile
-#include <Standard_ExtCharacter.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
-#include <Standard_Real.hxx>
-#endif
-#ifndef _Standard_ShortReal_HeaderFile
-#include <Standard_ShortReal.hxx>
-#endif
-#ifndef _Standard_CString_HeaderFile
-#include <Standard_CString.hxx>
-#endif
#include <Storage_Position.hxx>
class Storage_StreamTypeMismatchError;
#ifndef Draw_Main_HeaderFile
#define Draw_Main_HeaderFile
-#ifndef _Standard_TypeDef_HeaderFile
#include <Standard_TypeDef.hxx>
-#endif
-
#include <Draw_Appli.hxx>
#include <Standard_PCharacter.hxx>
return myUp;
}
- //! Set camera axial scale.<br>
+ //! Set camera axial scale.
//! @param theAxialScale [in] the axial scale vector.
Standard_EXPORT void SetAxialScale (const gp_XYZ& theAxialScale);
#include <Standard_ShortReal.hxx>
#include <Standard_Real.hxx>
-//! This class represents a graphical 3D point. <br>
+//! This class represents a graphical 3D point.
class Graphic3d_Vertex : public TEL_POINT
{
- public:
- //! Creates a point with 0.0, 0.0, 0.0 coordinates. <br>
+public:
+
+ //! Creates a point with 0.0, 0.0, 0.0 coordinates.
Graphic3d_Vertex()
- { SetCoord(0.f,0.f,0.f); }
- //! Creates a point with coordinates identical to <APoint>. <br>
- Graphic3d_Vertex(const Graphic3d_Vertex& APoint)
- { SetCoord(APoint.X(),APoint.Y(),APoint.Z()); }
- //! Creates a point with <AX>, <AY> and <AZ> coordinates. <br>
- Graphic3d_Vertex(const Standard_ShortReal AX,const Standard_ShortReal AY,const Standard_ShortReal AZ)
- { SetCoord(AX,AY,AZ); }
- //! Creates a point with <AX>, <AY> and <AZ> coordinates. <br>
- Graphic3d_Vertex(const Standard_Real AX,const Standard_Real AY,const Standard_Real AZ)
- { SetCoord(AX,AY,AZ); }
- //! Modifies the coordinates of the point <me>. <br>
- void SetCoord(const Standard_ShortReal AX,const Standard_ShortReal AY,const Standard_ShortReal AZ)
- { xyz[0] = AX, xyz[1] = AY, xyz[2] = AZ; }
- //! Modifies the coordinates of the point <me>. <br>
- void SetCoord(const Standard_Real AX,const Standard_Real AY,const Standard_Real AZ)
- { xyz[0] = Standard_ShortReal(AX), xyz[1] = Standard_ShortReal(AY), xyz[2] = Standard_ShortReal(AZ); }
- //! Returns the coordinates of the point <me>. <br>
- void Coord(Standard_ShortReal& AX,Standard_ShortReal& AY,Standard_ShortReal& AZ) const
- { AX = xyz[0], AY = xyz[1], AZ = xyz[2]; }
- //! Returns the coordinates of the point <me>. <br>
- void Coord(Standard_Real& AX,Standard_Real& AY,Standard_Real& AZ) const
- { AX = xyz[0], AY = xyz[1], AZ = xyz[2]; }
- //! Returns the X coordinates of the point <me>. <br>
+ {
+ SetCoord (0.0f, 0.0f, 0.0f);
+ }
+
+ //! Creates a point with coordinates identical to thePoint.
+ Graphic3d_Vertex (const Graphic3d_Vertex& thePoint)
+ {
+ SetCoord (thePoint.X(), thePoint.Y(), thePoint.Z());
+ }
+
+ //! Creates a point with theX, theY and theZ coordinates.
+ Graphic3d_Vertex (const Standard_ShortReal theX,
+ const Standard_ShortReal theY,
+ const Standard_ShortReal theZ)
+ {
+ SetCoord (theX, theY, theZ);
+ }
+
+ //! Creates a point with theX, theY and theZ coordinates.
+ Graphic3d_Vertex (const Standard_Real theX,
+ const Standard_Real theY,
+ const Standard_Real theZ)
+ {
+ SetCoord (theX, theY, theZ);
+ }
+
+ //! Modifies the coordinates.
+ void SetCoord (const Standard_ShortReal theX,
+ const Standard_ShortReal theY,
+ const Standard_ShortReal theZ)
+ {
+ xyz[0] = theX;
+ xyz[1] = theY;
+ xyz[2] = theZ;
+ }
+
+ //! Modifies the coordinates.
+ void SetCoord (const Standard_Real theX,
+ const Standard_Real theY,
+ const Standard_Real theZ)
+ {
+ xyz[0] = Standard_ShortReal (theX);
+ xyz[1] = Standard_ShortReal (theY);
+ xyz[2] = Standard_ShortReal (theZ);
+ }
+
+ //! Returns the coordinates.
+ void Coord (Standard_ShortReal& theX,
+ Standard_ShortReal& theY,
+ Standard_ShortReal& theZ) const
+ {
+ theX = xyz[0];
+ theY = xyz[1];
+ theZ = xyz[2];
+ }
+
+ //! Returns the coordinates.
+ void Coord (Standard_Real& theX,
+ Standard_Real& theY,
+ Standard_Real& theZ) const
+ {
+ theX = xyz[0];
+ theY = xyz[1];
+ theZ = xyz[2];
+ }
+
+ //! Returns the X coordinates.
Standard_ShortReal X() const { return xyz[0]; }
- //! Returns the Y coordinate of the point <me>. <br>
+
+ //! Returns the Y coordinate.
Standard_ShortReal Y() const { return xyz[1]; }
- //! Returns the Z coordinate of the point <me>. <br>
+
+ //! Returns the Z coordinate.
Standard_ShortReal Z() const { return xyz[2]; }
- //! Returns the distance between <AV1> and <AV2>. <br>
- Standard_EXPORT Standard_ShortReal Distance(const Graphic3d_Vertex& AOther) const;
+
+ //! Returns the distance between two points.
+ Standard_EXPORT Standard_ShortReal Distance (const Graphic3d_Vertex& theOther) const;
+
};
#endif
#ifndef IntAna2d_Outil_HeaderFile
#define IntAna2d_Outil_HeaderFile
-#ifndef math_DirectPolynomialRoots_HeaderFile
#include <math_DirectPolynomialRoots.hxx>
-#endif
-
-#ifndef math_TrigonometricFunctionRoots_HeaderFile
#include <math_TrigonometricFunctionRoots.hxx>
-#endif
-
-#ifndef IntAna2d_IntPoint_HeaderFile
#include <IntAna2d_IntPoint.hxx>
-#endif
-
-#ifndef gp_Ax2d_HeaderFile
#include <gp_Ax2d.hxx>
-#endif
class MyDirectPolynomialRoots {
public:
#include <StdFail_UndefinedDerivative.hxx>
-#ifndef gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
-#endif
-#ifndef gp_Dir2d_HeaderFile
#include <gp_Dir2d.hxx>
-#endif
-#ifndef gp_Dir_HeaderFile
#include <gp_Dir.hxx>
-#endif
-
inline Standard_Real IntImp_ZerParFunc::Root() const {
#ifndef IntImpParGen_Tool_HeaderFile
#define IntImpParGen_Tool_HeaderFile
-#ifndef IntRes2d_Domain_HeaderFile
#include <IntRes2d_Domain.hxx>
-#endif
-
-#ifndef IntRes2d_Position_HeaderFile
#include <IntRes2d_Position.hxx>
-#endif
-
-#ifndef IntRes2d_Transition_HeaderFile
#include <IntRes2d_Transition.hxx>
-#endif
-
-#ifndef gp_Vec2d_HeaderFile
#include <gp_Vec2d.hxx>
-#endif
-
-#ifndef gp_Pnt2d_HeaderFile
#include <gp_Pnt2d.hxx>
-#endif
-
Standard_Real NormalizeOnDomain(Standard_Real&,const IntRes2d_Domain&);
#ifndef IntPolyh_ArrayOfCouples_HeaderFile
#define IntPolyh_ArrayOfCouples_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <IntPolyh_Array.hxx>
#include <IntPolyh_Couple.hxx>
#ifndef IntPolyh_ArrayOfEdges_HeaderFile
#define IntPolyh_ArrayOfEdges_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <IntPolyh_Array.hxx>
#include <IntPolyh_Edge.hxx>
#ifndef IntPolyh_ArrayOfPoints_HeaderFile
#define IntPolyh_ArrayOfPoints_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <IntPolyh_Array.hxx>
#include <IntPolyh_Point.hxx>
#ifndef IntPolyh_ArrayOfSectionLines_HeaderFile
#define IntPolyh_ArrayOfSectionLines_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <IntPolyh_Array.hxx>
#include <IntPolyh_SectionLine.hxx>
#ifndef IntPolyh_ArrayOfStartPoints_HeaderFile
#define IntPolyh_ArrayOfStartPoints_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <IntPolyh_Array.hxx>
#include <IntPolyh_StartPoint.hxx>
#ifndef IntPolyh_ArrayOfTangentZones_HeaderFile
#define IntPolyh_ArrayOfTangentZones_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <IntPolyh_Array.hxx>
#include <IntPolyh_StartPoint.hxx>
#ifndef IntPolyh_ArrayOfTriangles_HeaderFile
#define IntPolyh_ArrayOfTriangles_HeaderFile
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
#include <IntPolyh_Array.hxx>
//#include <IntPolyh_Triangle.hxx>
class IntPolyh_Triangle;
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-#ifndef gp_Pln_HeaderFile
#include <gp_Pln.hxx>
-#endif
-#ifndef gp_Sphere_HeaderFile
#include <gp_Sphere.hxx>
-#endif
-#ifndef gp_Cylinder_HeaderFile
#include <gp_Cylinder.hxx>
-#endif
-#ifndef gp_Cone_HeaderFile
#include <gp_Cone.hxx>
-#endif
-#ifndef GeomAbs_SurfaceType_HeaderFile
#include <GeomAbs_SurfaceType.hxx>
-#endif
-
inline GeomAbs_SurfaceType IntSurf_Quadric::TypeQuadric () const {
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-#ifndef Standard_DomainError_HeaderFile
#include <Standard_DomainError.hxx>
-#endif
-#ifndef IntSurf_LineOn2S_HeaderFile
#include <IntSurf_LineOn2S.hxx>
-#endif
-#ifndef IntSurf_Couple_HeaderFile
#include <IntSurf_Couple.hxx>
-#endif
-#ifndef IntSurf_SequenceOfCouple_HeaderFile
#include <IntSurf_SequenceOfCouple.hxx>
-#endif
inline void IntWalk_IWLine::Cut(const Standard_Integer Index)
{
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
-#ifndef MeshVS_TWOCOLORSHXX
-#define MeshVS_TWOCOLORSHXX
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
+#ifndef MeshVS_TwoColors_HeaderFile
+#define MeshVS_TwoColors_HeaderFile
#include <Quantity_Color.hxx>
//purpose :
//=======================================================================
-#ifndef _TCollection_HAsciiString_HeaderFile
#include <TCollection_HAsciiString.hxx>
-#endif
-#ifndef _TCollection_HExtendedString_HeaderFile
#include <TCollection_HExtendedString.hxx>
-#endif
// CString
inline const Handle(Message_Messenger)&
#include <NIS_Drawer.hxx>
#include <NIS_SelectFilter.hxx>
-#ifdef WNT
+// undefine WinAPI macros
#ifdef GetObject
-#undef GetObject
-#endif
+ #undef GetObject
#endif
class NIS_View;
/**
* InteractiveContext is the central NIS structure that stores and manages
- * all NIS_InteractiveObject instances as well as the Drawers for their
- * visualisation.
+ * all NIS_InteractiveObject instances as well as the Drawers for their visualisation.
* There may be one or more Views referred by an InteractiveContext instance.
- * Also there may be one or more InteractiveContext instances referring the same
- * View. However the latter case is not typical (see NIS_View description).<br>
- * To add or remove a View in a Context, use methods AttachView() and
- * DetachView().
+ * Also there may be one or more InteractiveContext instances referring the same View.
+ * However the latter case is not typical (see NIS_View description).
+ * To add or remove a View in a Context, use methods AttachView() and DetachView().
*
* @section nis_interactivecontext_mgtobjects Management of objects
* The main purpose of class NIS_InteractiveContext is allocation and
* <p>An InteractiveObject should be added to the Context by a call to method
* Display() or DisplayOnTop(). After that (not before) it becomes possible to:
* <ul>
- * <li>change the presentation of the InteractiveObject (e.g., modify the color)
- * </li>
- * <li>make the InteractiveObject visible or invisible, selectable or
- * unselectable;</li>
+ * <li>change the presentation of the InteractiveObject (e.g., modify the color)</li>
+ * <li>make the InteractiveObject visible or invisible, selectable or unselectable;</li>
* <li>set Transparency;</li>
- * <li>select InteractiveObject interactively, including the hilighting and
- * the dynamic hilighting.</li>
+ * <li>select InteractiveObject interactively, including the hilighting and the dynamic hilighting.</li>
* </ul>
* Methods that add/remove/display/hide NIS_InteractiveObject instances have
* the optional parameter 'isUpdateViews'. When it is set to True (default),
{ mySelectionMode = theMode; }
/**
- * Set or unset the selected state of the object, also changing its
- * hilight status.<br>
- * If mySelectionMode == Mode_NoSelection this method does nothing (returns
- * False always).<br>
+ * Set or unset the selected state of the object, also changing its hilight status.
+ * If mySelectionMode == Mode_NoSelection this method does nothing (returns False always).
* If the given object is NULL (e.g., if the mouse was clicked on empty area),
- * then the current selection is cleared (modes Normal and Additive only).<br>
- * The selection algorithm with respect to the given object is defined by
- * the current selection mode :
+ * then the current selection is cleared (modes Normal and Additive only).
+ * The selection algorithm with respect to the given object is defined by the current selection mode:
* <ul>
* <li>Mode_Normal - the selection state is toggled</li>
* <li>Mode_Additive - the object is always added to the selection</li>
= Standard_False);
/**
- * Set or unset the selected state of the object, also changing its
- * hilight status.<br>
+ * Set or unset the selected state of the object, also changing its hilight status.
* This method does not update the views.
* @param theObj
* Object to be selected or deselected
* - #1 - top objects
* - #2 - hilighted objects (i.e., selected)
* - #3 - transparent objects
- * <br>Each object can have only one entry in these maps.
+ * Each object can have only one entry in these maps.
*/
TColStd_PackedMapOfInteger myMapObjects[4];
/**
* Replace the drawer. This method must not be called for Object that
- * has not yet been added to a Context (thus has empty drawer).<br>
+ * has not yet been added to a Context (thus has empty drawer).
* It is possible to have unassigned myDrawer or a DefaultDrawer as the
* parameter value (but not both). The Context where we work is taken
- * from theDrawer first, then (if NULL) -- from myDrawer.<br>
+ * from theDrawer first, then (if NULL) -- from myDrawer.
* This method matches theDrawer with the available Drawers in the Context
* and adds if no match is found.
* @return
* Intersect the InteractiveObject geometry with an oriented box.
* The default implementation (in this abstract class) always returns True,
* signalling that every object pre-selected by its bounding box is
- * automatically selected. The specializations should define a more correct
- * behaviour.<br>
+ * automatically selected. The specializations should define a more correct behaviour.
* The algorithm should transform the InteractiveObject geometry using the
* parameter theTrf and then reject it with box theBox, like:
* @code
* Intersect the InteractiveObject geometry with a selection polygon.
* The default implementation (in this abstract class) always returns True,
* signalling that every object pre-selected by its bounding box is
- * automatically selected. The specializations should define a more correct
- * behaviour.<br>
+ * automatically selected. The specializations should define a more correct behaviour.
* The algorithm should transform the InteractiveObject geometry using the
* parameter theTrf and then reject it with polygon.
* @param thePolygon
class Handle_Standard_Type;
/**
- * Interface for selection filters. It can be used in NIS_InteractiveContext
- * by methods SetFilter and GetFilter.<br>
- * Unlike in AIS, only one filter can be installed in InteractiveContext. If
- * you need more than one filter instance to work together, create a composite
- * NIS_SelectFilter specialization that would hold a list of simpler Filter
- * instances.
+ * Interface for selection filters. It can be used in NIS_InteractiveContext by methods SetFilter and GetFilter.
+ * Unlike in AIS, only one filter can be installed in InteractiveContext.
+ * If you need more than one filter instance to work together, create a composite
+ * NIS_SelectFilter specialization that would hold a list of simpler Filter instances.
*/
-
class NIS_SelectFilter : public Standard_Transient
{
public:
* The following tasks are supported:
* <ol>
*
- * <li> Creation of AVI data stream: launched by the constructor.<br>
+ * <li>Creation of AVI data stream: launched by the constructor.
* The constructor accepts the filename, FOURCC video code and the frame rate
- * setting as parameters.<br>
+ * setting as parameters.
* The default codec name used here is MPG4. To use a different codec, pass
* its FOURCC value as the input parameter for dwCodec.
* For example,
* Also, you can pass just 0 to avoid the codecs altogether. In that case,
* the frames would be saved as they are without any compression; However,
* the output movie file size would be very huge in that case.
- * <br>
+ *
* Finally, make sure you have the codec installed on the machine before
* passing its Fourcc here.
* </li>
Standard_Size myCounter;
};
-//! This class defines an OpenGl graphic driver <br>
+//! This class defines an OpenGl graphic driver
class OpenGl_GraphicDriver : public Graphic3d_GraphicDriver
{
public:
Standard_EXPORT void SetLineAttributes (const Standard_Integer Type,const Standard_ShortReal Width);
Standard_EXPORT void SetFlippingOptions (const Graphic3d_CGroup& theCGroup, const Standard_Boolean theIsEnabled, const gp_Ax2& theRefPlane);
- //! Set text attributes for under-/overlayer. <br>
- //! <Font> argument defines the name of the font to be used, <br>
- //! <Type> argument defines the display type of the text, <br>
- //! <R> <G> <B> values define the color of decal or subtitle background. <br>
- //! To set the color of the text you can use the SetColor method. <br>
- Standard_EXPORT void SetTextAttributes (const Standard_CString FontName,const Standard_Integer Type,const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B);
+ //! Set text attributes for under-/overlayer.
+ //! @param theFontName the name of the font to be used
+ //! @param theType the display type of the text
+ //! theR theG theB values define the color of decal or subtitle background
+ //! To set the color of the text you can use the SetColor method.
+ Standard_EXPORT void SetTextAttributes (const Standard_CString theFontName,
+ const Standard_Integer theType,
+ const Standard_ShortReal theR,
+ const Standard_ShortReal theG,
+ const Standard_ShortReal theB);
Standard_EXPORT void Text (const Standard_CString AText,const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal AHeight);
Standard_EXPORT void TextSize (const Standard_CString AText,const Standard_ShortReal AHeight,Standard_ShortReal& AWidth,Standard_ShortReal& AnAscent,Standard_ShortReal& ADescent) const;
Standard_EXPORT void SetBackFacingModel (const Graphic3d_CView& aView);
- //! print the contents of all layers of the view to the printer. <br>
- //! <hPrnDC> : Pass the PrinterDeviceContext (HDC), <br>
- //! <showBackground> : When set to FALSE then print the view without background color <br>
- //! (background is white) <br>
- //! else set to TRUE for printing with current background color. <br>
- //! <filename>: If != NULL, then the view will be printed to a file. <br>
- //! <printAlgorithm>: Select print algorithm: stretch, tile. <br>
- //! <theScaleFactor>: Scaling coefficient, used internally to scale the <br>
- //! printings accordingly to the scale factor selected in the printer <br>
- //! properties dialog. <br>
- //! Returns Standard_True if the data is passed to the printer, otherwise <br>
- //! Standard_False if the print operation failed due to the printer errors, <br>
- //! or lack of system memory. This might be related to insufficient memory <br>
- //! or some internal errors. All this errors are indicated by the message <br>
- //! boxes (on level of OpenGl_GraphicDriver). <br>
- //! Warning: This function can reuse FBO assigned to the view <br>
- //! Please take it into account if you use it for your purposes; <br>
- Standard_EXPORT Standard_Boolean Print (const Graphic3d_CView& ACView, const Aspect_CLayer2d& ACUnderLayer, const Aspect_CLayer2d& ACOverLayer, const Aspect_Handle hPrnDC, const Standard_Boolean showBackground, const Standard_CString filename, const Aspect_PrintAlgo printAlgorithm = Aspect_PA_STRETCH, const Standard_Real theScaleFactor = 1.0) const;
+
+ //! Print the contents of all layers of the view to the printer.
+ //! @param thePrinterDC pass the PrinterDeviceContext (HDC)
+ //! @param theToShowBackground when set to FALSE then print the view without background color (background is white) else set to TRUE for printing with current background color
+ //! @param theFileName if != NULL, then the view will be printed to a file
+ //! @param thePrintAlgorithm select print algorithm: stretch, tile
+ //! @param theScaleFactor scaling coefficient, used internally to scale the printings accordingly to the scale factor selected in the printer properties dialog
+ //! @return Standard_True if the data is passed to the printer, otherwise Standard_False if the print operation failed due to the printer errors,
+ //! or lack of system memory. This might be related to insufficient memory or some internal errors.
+ //! All this errors are indicated by the message boxes (on level of OpenGl_GraphicDriver).
+ //! Warning: This function can reuse FBO assigned to the view, please take it into account if you use it for your purposes.
+ Standard_EXPORT Standard_Boolean Print (const Graphic3d_CView& theCView,
+ const Aspect_CLayer2d& theCUnderLayer,
+ const Aspect_CLayer2d& theCOverLayer,
+ const Aspect_Handle thePrinterDC,
+ const Standard_Boolean theToShowBackground,
+ const Standard_CString theFileName,
+ const Aspect_PrintAlgo thePrintAlgorithm = Aspect_PA_STRETCH,
+ const Standard_Real theScaleFactor = 1.0) const;
Standard_EXPORT void SetDepthTestEnabled (const Graphic3d_CView& view,const Standard_Boolean isEnabled) const;
Standard_EXPORT Standard_Boolean IsDepthTestEnabled (const Graphic3d_CView& view) const;
- //! Reads depths of shown pixels of the given rectangle (glReadPixels with GL_DEPTH_COMPONENT) <br>
+
+ //! Reads depths of shown pixels of the given rectangle (glReadPixels with GL_DEPTH_COMPONENT)
Standard_EXPORT void ReadDepths (const Graphic3d_CView& view,const Standard_Integer x,const Standard_Integer y,const Standard_Integer width,const Standard_Integer height,const Standard_Address buffer) const;
- //! Generate offscreen FBO (needs OpenGL2+ hardware) <br>
- //! If not supported on hardware returns NULL. <br>
+
+ //! Generate offscreen FBO (needs OpenGL2+ hardware).
+ //! If not supported on hardware returns NULL.
Standard_EXPORT Graphic3d_PtrFrameBuffer FBOCreate (const Graphic3d_CView& view, const Standard_Integer width, const Standard_Integer height);
- //! Remove offscreen FBO <br>
+
+ //! Remove offscreen FBO
Standard_EXPORT void FBORelease (const Graphic3d_CView& view, Graphic3d_PtrFrameBuffer& fboPtr);
- //! Dump active rendering buffer into specified memory buffer. <br>
+
+ //! Dump active rendering buffer into specified memory buffer.
Standard_EXPORT Standard_Boolean BufferDump (const Graphic3d_CView& theCView,
Image_PixMap& theImage,
const Graphic3d_BufferType& theBufferType);
+
Standard_EXPORT void SetGLLightEnabled (const Graphic3d_CView& view,const Standard_Boolean isEnabled) const;
+
Standard_EXPORT Standard_Boolean IsGLLightEnabled (const Graphic3d_CView& view) const;
- //! Clear visualization data in graphical driver and stop <br>
- //! displaying the primitives array of the graphical group <theCGroup>. <br>
- //! This method is internal and should be used by Graphic3d_Group only. <br>
+
Standard_EXPORT Standard_Integer InquirePlaneLimit();
+
Standard_EXPORT Standard_ShortReal DefaultTextHeight() const;
+
Standard_EXPORT void FBOGetDimensions(const Graphic3d_CView& view,const Graphic3d_PtrFrameBuffer fboPtr,Standard_Integer& width,Standard_Integer& height,Standard_Integer& widthMax,Standard_Integer& heightMax);
+
Standard_EXPORT void FBOChangeViewport(const Graphic3d_CView& view,Graphic3d_PtrFrameBuffer& fboPtr,const Standard_Integer width,const Standard_Integer height);
+
Standard_EXPORT Standard_Boolean Export(const Standard_CString theFileName,const Graphic3d_ExportFormat theFormat,const Graphic3d_SortType theSortType,const Standard_Integer theWidth,const Standard_Integer theHeight,const Graphic3d_CView& theView,const Aspect_CLayer2d& theLayerUnder,const Aspect_CLayer2d& theLayerOver,const Standard_Real thePrecision = 0.005,const Standard_Address theProgressBarFunc = NULL,const Standard_Address theProgressObject = NULL);
- //! Add a new top-level z layer with ID <theLayerId> for <br>
- //! the view. Z layers allow drawing structures in higher layers <br>
- //! in foreground of structures in lower layers. To add a structure <br>
- //! to desired layer on display it is necessary to set the layer <br>
- //! index for the structure. <br>
- Standard_EXPORT void AddZLayer(const Graphic3d_CView& theCView,
- const Standard_Integer theLayerId);
-
- //! Remove Z layer from the specified view. All structures <br>
- //! displayed at the moment in layer will be displayed in default layer <br>
- //! ( the bottom-level z layer ). To unset layer index from associated <br>
- //! structures use method UnsetZLayer (...). <br>
- Standard_EXPORT void RemoveZLayer(const Graphic3d_CView& theCView,
- const Standard_Integer theLayerId);
-
- //! Unset Z layer ID for all structures. The structure <br>
- //! indexes will be set to default layer ( the bottom-level z layer with <br>
- //! ID = 0 ). <br>
- Standard_EXPORT void UnsetZLayer(const Standard_Integer theLayerId);
-
- //! Change Z layer of a structure. The new z layer ID will <br>
- //! be used to define the associated layer for structure on display. <br>
- //! It is recommended to take care of redisplaying the structures already <br>
- //! presented in view with previously set layer index. This is usually <br>
- //! done by viewer manager. Z layers allow drawing structures in <br>
- //! higher layers in foreground of structures in lower layers. <br>
- Standard_EXPORT void ChangeZLayer(const Graphic3d_CStructure& theCStructure,
- const Standard_Integer theLayerId);
-
- //! Change Z layer of a structure already presented in view. <br>
- //! It is recommended to update z layer of already <br>
- //! displayed structures with this method before setting new z layer <br>
- //! index to the structure. This is usually done by viewer manager. <br>
- Standard_EXPORT void ChangeZLayer(const Graphic3d_CStructure& theCStructure,
- const Graphic3d_CView& theCView,
- const Standard_Integer theNewLayerId);
-
- //! Get Z layer ID of the structure. If the structure doesn't exists in <br>
- //! graphic driver, the method returns -1. <br>
- Standard_EXPORT Standard_Integer GetZLayer(const Graphic3d_CStructure& theCStructure) const;
+ //! Add a new top-level z layer with ID theLayerId for the view. Z layers allow drawing structures in higher layers in foreground of structures in lower layers.
+ //! To add a structure to desired layer on display it is necessary to set the layer index for the structure.
+ Standard_EXPORT void AddZLayer (const Graphic3d_CView& theCView,
+ const Standard_Integer theLayerId);
+
+ //! Remove Z layer from the specified view.
+ //! All structures displayed at the moment in layer will be displayed in default layer (the bottom-level z layer).
+ //! To unset layer index from associated structures use method UnsetZLayer (...).
+ Standard_EXPORT void RemoveZLayer (const Graphic3d_CView& theCView,
+ const Standard_Integer theLayerId);
+
+ //! Unset Z layer ID for all structures.
+ //! The structure indexes will be set to default layer (the bottom-level z layer with ID = 0).
+ Standard_EXPORT void UnsetZLayer (const Standard_Integer theLayerId);
+
+ //! Change Z layer of a structure.
+ //! The new z layer ID will be used to define the associated layer for structure on display.
+ //! It is recommended to take care of redisplaying the structures already presented in view with previously set layer index.
+ //! This is usually done by viewer manager. Z layers allow drawing structures in higher layers in foreground of structures in lower layers.
+ Standard_EXPORT void ChangeZLayer (const Graphic3d_CStructure& theCStructure,
+ const Standard_Integer theLayerId);
+
+ //! Change Z layer of a structure already presented in view.
+ //! It is recommended to update z layer of already displayed structures with this method before setting new z layer index to the structure.
+ //! This is usually done by viewer manager.
+ Standard_EXPORT void ChangeZLayer (const Graphic3d_CStructure& theCStructure,
+ const Graphic3d_CView& theCView,
+ const Standard_Integer theNewLayerId);
+
+ //! Get Z layer ID of the structure. If the structure doesn't exists in graphic driver, the method returns -1.
+ Standard_EXPORT Standard_Integer GetZLayer (const Graphic3d_CStructure& theCStructure) const;
public:
/**
* Triangulation structure that allows to:
* <ul>
- * <li>Store the connectivity of each triangle with up to 3 neighbouring ones
- * and with the corresponding 3rd nodes on them,</li>
- * <li>Store the connectivity of each node with all triangles that share this
- * node</li>
+ * <li>Store the connectivity of each triangle with up to 3 neighbouring ones and with the corresponding 3rd nodes on them,</li>
+ * <li>Store the connectivity of each node with all triangles that share this node</li>
* <li>Add nodes and triangles to the structure,</li>
* <li>Find all triangles sharing a single or a couple of nodes</li>
* <li>Remove triangles from structure</li>
- * <li>Optionally create Links between pairs of nodes according to the current
- * triangulation.
+ * <li>Optionally create Links between pairs of nodes according to the current triangulation.</li>
* <li>Convert from/to Poly_Triangulation structure.</li>
* </ul>
- * This class is useful for algorithms that need to analyse and/or edit a
- * triangulated mesh -- for example for mesh refining. The connectivity model
- * follows the idea that all Triangles in a mesh should have coherent orientation
- * like on a surface of a solid body. Connections between more than 2 triangles
- * are not suppoorted.
+ *
+ * This class is useful for algorithms that need to analyse and/or edit a triangulated mesh -- for example for mesh refining.
+ * The connectivity model follows the idea that all Triangles in a mesh should have coherent orientation like on a surface of a solid body.
+ * Connections between more than 2 triangles are not suppoorted.
+ *
* @section Poly_CoherentTriangulation Architecture
* The data types used in this structure are:
* <ul>
- * <li><b>Poly_CoherentNode</b>: Inherits go_XYZ therefore provides the full
- * public API of gp_XYZ. Contains references to all incident triangles. You
- * can add new nodes but you cannot remove existing ones. However each node
- * that has no referenced triangle is considered as "free" (use the method
- * IsFreeNode() to check this). Free nodes are not available to further
- * processing, particularly they are not exported in Poly_Triangulation.
+ * <li><b>Poly_CoherentNode</b>: Inherits go_XYZ therefore provides the full public API of gp_XYZ.
+ * Contains references to all incident triangles. You can add new nodes but you cannot remove existing ones.
+ * However each node that has no referenced triangle is considered as "free" (use the method IsFreeNode() to check this).
+ * Free nodes are not available to further processing, particularly they are not exported in Poly_Triangulation.
* </li>
- * <li><b>Poly_CoherentTriangle</b>: Main data type. Refers three Nodes, three
- * connected Triangles, three opposite (connected) Nodes and three Links.
- * If there is boundary then 1, 2 or 3 references to Triangles/connected
- * Nodes/Links are assigned to NULL (for pointers) or -1 (for integer
- * node index).
- * <br>
- * You can find a triangle by one node using its triangle iterator or by
- * two nodes - creating a temporary Poly_CoherentLink and calling the method
- * FindTriangle().
- * <br>
- * Triangles can be removed but they are never deleted from
- * the containing array. Removed triangles have all nodes equal to -1. You
- * can use the method IsEmpty() to check that.
+ * <li><b>Poly_CoherentTriangle</b>: Main data type. Refers three Nodes, three connected Triangles, three opposite (connected) Nodes and three Links.
+ * If there is boundary then 1, 2 or 3 references to Triangles/connected Nodes/Links are assigned to NULL (for pointers) or -1 (for integer node index).
+ *
+ * You can find a triangle by one node using its triangle iterator or by
+ * two nodes - creating a temporary Poly_CoherentLink and calling the method FindTriangle().
+ *
+ * Triangles can be removed but they are never deleted from the containing array. Removed triangles have all nodes equal to -1.
+ * You can use the method IsEmpty() to check that.
* </li>
- * <li><b>Poly_CoherentLink</b>: Auxiliary data type. Normally the array of
- * Links is empty, because for many algorithms it is sufficient to define
- * only Triangles. You can explicitly create the Links at least once,
- * calling the method ComputeLinks(). Each Link is oriented couple of
- * Poly_CoherentNode (directed to the ascending Node index). It refers
- * two connected triangulated Nodes - on the left and on the right,
- * therefore a Poly_CoherentLink instance refers the full set of nodes
- * that constitute a couple of connected Triangles. A boundary Link has
- * either the first (left) or the second (right) connected node index
- * equal to -1.
- * <br>
- * When the array of Links is created, all subsequent calls to AddTriangle
- * and RemoveTriangle try to preserve the connectivity Triangle-Link in
- * addition to the connectivity Triangle-Triangle. Particularly, new Links
- * are created by method AddTriangle() and existing ones are removed by
- * method RemoveTriangle(), in each case whenever necessary.
- * <br>
- * Similarly to Poly_CoherentTriangle, a Link can be removed but not
- * destroyed separately from others. Removed Link can be recogniosed using
- * the method IsEmpty(). To destroy all Links, call the method ClearLinks(),
- * this method also nullifies Link references in all Triangles.
+ * <li><b>Poly_CoherentLink</b>: Auxiliary data type. Normally the array of Links is empty, because for many algorithms it is sufficient to define only Triangles.
+ * You can explicitly create the Links at least once, calling the method ComputeLinks(). Each Link is oriented couple of Poly_CoherentNode (directed to the ascending Node index).
+ * It refers two connected triangulated Nodes - on the left and on the right,
+ * therefore a Poly_CoherentLink instance refers the full set of nodes that constitute a couple of connected Triangles.
+ * A boundary Link has either the first (left) or the second (right) connected node index equal to -1.
+ *
+ * When the array of Links is created, all subsequent calls to AddTriangle and RemoveTriangle try to preserve the connectivity Triangle-Link in addition to the connectivity Triangle-Triangle.
+ * Particularly, new Links are created by method AddTriangle() and existing ones are removed by method RemoveTriangle(), in each case whenever necessary.
+ *
+ * Similarly to Poly_CoherentTriangle, a Link can be removed but not destroyed separately from others.
+ * Removed Link can be recogniosed using the method IsEmpty(). To destroy all Links, call the method ClearLinks(),
+ * this method also nullifies Link references in all Triangles.
* </li>
- * All objects (except for free Nodes and empty Triangles and Links) can be
- * visited by the corresponding Iterator. Direct access is provided only for
- * Nodes (needed to resolve Node indexed commonly used as reference). Triangles
- * and Links can be retrieved by their index only internally, the public API
- * provides only references or pointers to C++ objects. If you need a direct
- * access to Triangles and Links, you can subclass Poly_CoherentTriangulation
- * and use the protected API for your needs.
- * <br>
- * Memory management: All data objects are stored in NCollection_Vector
- * containers that prove to be efficient for the performance. In addition
- * references to triangles are stored in ring lists, with an instance of such
- * list per Poly_CoherentNode. These lists are allocated in a memory allocator
- * that is provided in the constructor of Poly_CoherentTriangulation. By default
- * the standard OCCT allocator (aka NCollection_BaseAllocator) is used. But if
- * you need to increase the performance you can use NCollection_IncAllocator
- * instead.
+ * All objects (except for free Nodes and empty Triangles and Links) can be visited by the corresponding Iterator.
+ * Direct access is provided only for Nodes (needed to resolve Node indexed commonly used as reference).
+ * Triangles and Links can be retrieved by their index only internally, the public API provides only references or pointers to C++ objects.
+ * If you need a direct access to Triangles and Links, you can subclass Poly_CoherentTriangulation and use the protected API for your needs.
+ *
+ * Memory management: All data objects are stored in NCollection_Vector containers that prove to be efficient for the performance.
+ * In addition references to triangles are stored in ring lists, with an instance of such list per Poly_CoherentNode.
+ * These lists are allocated in a memory allocator that is provided in the constructor of Poly_CoherentTriangulation.
+ * By default the standard OCCT allocator (aka NCollection_BaseAllocator) is used.
+ * But if you need to increase the performance you can use NCollection_IncAllocator instead.
* </ul>
*/
-
class Poly_CoherentTriangulation : public Standard_Transient
{
public:
#ifndef _Handle_Standard_Persistent_HeaderFile
#define _Handle_Standard_Persistent_HeaderFile
-#ifndef _Standard_DefineAlloc_HeaderFile
#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
-#include <Standard_PrimitiveTypes.hxx>
-#endif
-#ifndef _Standard_Persistent_proto_HeaderFile
+#include <Standard_TypeDef.hxx>
#include <Standard_Persistent_proto.hxx>
-#endif
#ifdef _WIN32
// Disable the warning "conversion from 'unsigned int' to Standard_Persistent *"
#ifndef _Handle_Standard_Transient_HeaderFile
#define _Handle_Standard_Transient_HeaderFile
-#ifndef _Standard_HeaderFile
+
#include <Standard.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
#include <Standard_PrimitiveTypes.hxx>
-#endif
-#ifndef _Standard_Transient_proto_HeaderFile
#include <Standard_Transient_proto.hxx>
-#endif
#ifdef _WIN32
// Disable the warning "conversion from 'unsigned int' to Standard_Transient *"
# include <string.h>
//typedef void* Standard_Address;
-
-#ifndef _Standard_TypeDef_HeaderFile
-#include <Standard_TypeDef.hxx>
-#endif
-
-#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
-#endif
-
class Handle_Standard_Type;
#include <Standard_Boolean.hxx>
#include <Standard_RangeError.hxx>
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
const Handle_Standard_Type& Standard_Boolean_Type_()
{
#include <Standard_Character.hxx>
#include <Standard_Integer.hxx>
#include <Standard_RangeError.hxx>
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
-
#include <Standard_Type.hxx>
const Handle_Standard_Type& Standard_Character_Type_()
#ifndef _Standard_DefineHandle_HeaderFile
#define _Standard_DefineHandle_HeaderFile
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
-#endif
class Standard_Transient;
class Standard_Persistent;
#include <Standard_ExtCharacter.hxx>
#include <Standard_Integer.hxx>
#include <Standard_RangeError.hxx>
-
#include <Standard_Type.hxx>
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
const Handle_Standard_Type& Standard_ExtCharacter_Type_()
{
#ifndef _Standard_ExtString_HeaderFile
#define _Standard_ExtString_HeaderFile
-
-#ifndef _Standard_TypeDef_HeaderFile
#include <Standard_TypeDef.hxx>
-#endif
class Handle_Standard_Type;
#ifndef _Standard_IStream_HeaderFile
#define _Standard_IStream_HeaderFile
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
-#endif
#include <Standard_Stream.hxx>
-
class Handle_Standard_Type;
__Standard_API const Handle_Standard_Type& Standard_IStream_Type_();
#include <Standard_Integer.hxx>
#include <Standard_ConstructionError.hxx>
#include <Standard_RangeError.hxx>
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
// ------------------------------------------------------------------
// CharToInt : Converts a character in an integer value
#ifndef _Standard_Integer_HeaderFile
#define _Standard_Integer_HeaderFile
-#ifndef _Standard_TypeDef_HeaderFile
#include <Standard_TypeDef.hxx>
-#endif
-
-#ifndef _Standard_values_HeaderFile
# include <Standard_values.h>
-#endif
class Handle_Standard_Type;
#ifndef _Standard_MMgrOpt_HeaderFile
#define _Standard_MMgrOpt_HeaderFile
-#ifndef _Standard_Address_HeaderFile
-#include <Standard_Address.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_MMgrRoot_HeaderFile
#include <Standard_MMgrRoot.hxx>
-#endif
-#ifndef _Standard_Mutex_HeaderFile
#include <Standard_Mutex.hxx>
-#endif
-#include <Standard_Size.hxx>
/**
* @brief Open CASCADE memory manager optimized for speed.
* blocks is usually less costly than directly by malloc since allocation is made
* once (when allocating a pool) and overheads induced by malloc are minimized.
*/
-
class Standard_MMgrOpt : public Standard_MMgrRoot
{
public:
//! Returns number of actually freed blocks
Standard_EXPORT virtual Standard_Integer Purge(Standard_Boolean isDestroyed);
- //! Declaration of a type pointer to the callback function that
- //! should accept the following arguments: <br>
- //! theIsAlloc - true if the data is allocated, false if it is freed; <br>
- //! theStorage - address of the allocated/freed block <br>
- //! theRoundSize - the real rounded size of the block <br>
- //! theSize - the size of the block that was requested by application
- //! (this value is correct only if theIsAlloc is true)
+ //! Declaration of a type pointer to the callback function that should accept the following arguments:
+ //! @param theIsAlloc true if the data is allocated, false if it is freed
+ //! @param theStorage address of the allocated/freed block
+ //! @param theRoundSize the real rounded size of the block
+ //! @param theSize the size of the block that was requested by application (this value is correct only if theIsAlloc is true)
typedef void (*TPCallBackFunc)(const Standard_Boolean theIsAlloc,
const Standard_Address theStorage,
const Standard_Size theRoundSize,
#ifndef _Standard_MMgrRaw_HeaderFile
#define _Standard_MMgrRaw_HeaderFile
-#ifndef _Standard_Address_HeaderFile
-#include <Standard_Address.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_MMgrRoot_HeaderFile
#include <Standard_MMgrRoot.hxx>
-#endif
/**
* Implementation of raw OCC memory manager which uses standard C
#ifndef _Standard_MMgrRoot_HeaderFile
#define _Standard_MMgrRoot_HeaderFile
-#ifndef _Standard_Address_HeaderFile
-#include <Standard_Address.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
+#include <Standard_TypeDef.hxx>
/**
* Root class for Open CASCADE mmemory managers.
#ifndef _Standard_MMgrTBBalloc_HeaderFile
#define _Standard_MMgrTBBalloc_HeaderFile
-#ifndef _Standard_Address_HeaderFile
-#include <Standard_Address.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_MMgrRoot_HeaderFile
#include <Standard_MMgrRoot.hxx>
-#endif
//!
//! Implementation of OCC memory manager which uses Intel TBB
#ifndef _Standard_OId_HeaderFile
#define _Standard_OId_HeaderFile
-#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
-#endif
-
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
class Standard_Persistent;
typedef Standard_Persistent* Standard_OId;
#ifndef _Standard_OStream_HeaderFile
#define _Standard_OStream_HeaderFile
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_TypeDef.hxx>
-#endif
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
class Handle_Standard_Type;
#ifndef _Standard_Persistent_proto_HeaderFile
#define _Standard_Persistent_proto_HeaderFile
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_DefineAlloc_HeaderFile
-#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
-#include <Standard_PrimitiveTypes.hxx>
-#endif
-#ifndef _Standard_HeaderFile
#include <Standard.hxx>
-#endif
+#include <Standard_TypeDef.hxx>
+#include <Standard_OStream.hxx>
class Standard_Type;
class Handle_Standard_Type;
class Handle_Standard_Transient;
class Standard_Transient;
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
+
#include <Standard_Boolean.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
-#endif
-#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
-#endif
-#ifndef _Standard_Character_HeaderFile
#include <Standard_Character.hxx>
-#endif
-#ifndef _Standard_ExtCharacter_HeaderFile
#include <Standard_ExtCharacter.hxx>
-#endif
-#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
-#endif
-#ifndef _Standard_ExtString_HeaderFile
#include <Standard_ExtString.hxx>
-#endif
-#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
-#endif
-#ifndef _Standard_Storable_HeaderFile
#include <Standard_Storable.hxx>
-#endif
__Standard_API Standard_Address ShallowCopy(const Standard_Address,
const Handle_Standard_Type& );
#include <Standard_RangeError.hxx>
#include <Standard_NumericError.hxx>
#include <Standard_NullValue.hxx>
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
const Handle_Standard_Type& Standard_Real_Type_()
{
#include <float.h>
#include <math.h>
-#ifndef _Standard_values_HeaderFile
-# include <Standard_values.h>
-#endif
-
-#ifdef WNT
-# include <Standard_math.hxx>
-#endif
-
-#ifndef _Standard_TypeDef_HeaderFile
+#include <Standard_values.h>
+#include <Standard_math.hxx>
#include <Standard_TypeDef.hxx>
-#endif
class Handle_Standard_Type;
#ifndef _Standard_SStream_HeaderFile
#define _Standard_SStream_HeaderFile
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
#ifdef USE_STL_STREAM
#include <Standard_ShortReal.hxx>
#include <Standard_RangeError.hxx>
#include <Standard_NullValue.hxx>
-
-#ifndef _Standard_Stream_HeaderFile
#include <Standard_Stream.hxx>
-#endif
-#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
-#endif
const Handle_Standard_Type& Standard_ShortReal_Type_()
{
#include <float.h>
#include <math.h>
-#ifndef _Standard_values_HeaderFile
-# include <Standard_values.h>
-#endif
-
-#ifndef _Standard_TypeDef_HeaderFile
+#include <Standard_values.h>
#include <Standard_TypeDef.hxx>
-#endif
class Handle_Standard_Type;
#ifndef _Standard_Stream_HeaderFile
#define _Standard_Stream_HeaderFile
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
-#endif
#ifdef USE_STL_STREAM
#undef USE_STL_STREAM
#ifndef _Standard_Time_HeaderFile
#define _Standard_Time_HeaderFile
-#ifndef _Standard_TypeDef_HeaderFile
#include <Standard_TypeDef.hxx>
-#endif
class Handle_Standard_Type;
#ifndef _Standard_Transient_HeaderFile
#define _Standard_Transient_HeaderFile
-#ifndef _Handle_Standard_Transient_HeaderFile
#include <Handle_Standard_Transient.hxx>
-#endif
-#ifndef _Standard_PrimitiveTypes_HeaderFile
#include <Standard_PrimitiveTypes.hxx>
-#endif
-#ifndef _Standard_Transient_proto_HeaderFile
#include <Standard_Transient_proto.hxx>
-#endif
-#ifndef _Standard_Type_HeaderFile
#include <Standard_Type.hxx>
-#endif
#endif
#ifndef _Standard_Transient_proto_HeaderFile
#define _Standard_Transient_proto_HeaderFile
-#ifndef _Standard_DefineAlloc_HeaderFile
#include <Standard_DefineAlloc.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
-#endif
-#ifndef _Standard_HeaderFile
#include <Standard.hxx>
-#endif
class Handle_Standard_Transient;
class Standard_Type;
#define Standard_False (Standard_Boolean)0
#define Standard_True (Standard_Boolean)1
-#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
-#endif
typedef int Standard_Integer;
typedef double Standard_Real;
#include <TCollection_BasicMap.hxx>
/**
- * Optimized Map of integer values. Each block of 32 integers is stored in
- * 8 bytes in memory.
+ * Optimized Map of integer values. Each block of 32 integers is stored in 8 bytes in memory.
*/
-
class TColStd_PackedMapOfInteger : private TCollection_BasicMap
{
public:
public:
//!@name Boolean operations with maps as sets of integers
//!@{
-
+
/**
- * Sets this Map to be the result of union (aka addition, fuse, merge,
- * boolean OR) operation between two given Maps.
- * The new Map contains the values that are contained either in the
- * first map or in the second map or in both.<br>
- * All previous contents of this Map is cleared. This map (result of the
- * boolean operation) can also be passed as one of operands.<br>
+ * Sets this Map to be the result of union (aka addition, fuse, merge, boolean OR) operation between two given Maps.
+ * The new Map contains the values that are contained either in the first map or in the second map or in both.
+ * All previous contents of this Map is cleared. This map (result of the boolean operation) can also be passed as one of operands.
*/
Standard_EXPORT void Union (const TColStd_PackedMapOfInteger&,
const TColStd_PackedMapOfInteger&);
/**
- * Apply to this Map the boolean operation union (aka addition, fuse, merge,
- * boolean OR) with another (given) Map.
- * The result contains the values that were previously contained in
- * this map or contained in the given (operand) map.<br>
+ * Apply to this Map the boolean operation union (aka addition, fuse, merge, boolean OR) with another (given) Map.
+ * The result contains the values that were previously contained in this map or contained in the given (operand) map.
* This algorithm is similar to method Union().
- * Returns True if contents of this map is changed.
+ * @return True if content of this map is changed
*/
Standard_EXPORT Standard_Boolean Unite (const TColStd_PackedMapOfInteger&);
{ Unite(MM); return *this; }
/**
- * Sets this Map to be the result of intersection (aka multiplication, common,
- * boolean AND) operation between two given Maps.
- * The new Map contains only the values that are contained in both map
- * operands.<br>
- * All previous contents of this Map is cleared. This same map (result of the
- * boolean operation) can also be used as one of operands.<br>
- * The order of operands makes no difference; the method minimizes internally
- * the number of iterations using the smallest map for the loop.
+ * Sets this Map to be the result of intersection (aka multiplication, common, boolean AND) operation between two given Maps.
+ * The new Map contains only the values that are contained in both map operands.
+ * All previous contents of this Map is cleared. This same map (result of the boolean operation) can also be used as one of operands.
+ * The order of operands makes no difference; the method minimizes internally the number of iterations using the smallest map for the loop.
*/
Standard_EXPORT void Intersection (const TColStd_PackedMapOfInteger&,
const TColStd_PackedMapOfInteger&);
/**
- * Apply to this Map the intersection operation (aka multiplication, common,
- * boolean AND) with another (given) Map.
- * The result contains only the values that are contained in both this and
- * the given maps.<br>
+ * Apply to this Map the intersection operation (aka multiplication, common, boolean AND) with another (given) Map.
+ * The result contains only the values that are contained in both this and the given maps.
* This algorithm is similar to method Intersection().
- * Returns True if contents of this map is changed.
+ * @return True if content of this map is changed
*/
Standard_EXPORT Standard_Boolean Intersect (const TColStd_PackedMapOfInteger&);
{ Intersect(MM); return *this; }
/**
- * Sets this Map to be the result of subtraction (aka set-theoretic difference,
- * relative complement, exclude, cut, boolean NOT) operation between two given Maps.
- * The new Map contains only the values that are contained in the first map
- * operands and not contained in the second one.<br>
- * All previous contents of this Map is cleared. This map (result of the
- * boolean operation) can also be used as the first operand.<br>
+ * Sets this Map to be the result of subtraction
+ * (aka set-theoretic difference, relative complement, exclude, cut, boolean NOT) operation between two given Maps.
+ * The new Map contains only the values that are contained in the first map operands and not contained in the second one.
+ * All previous contents of this Map is cleared.
+ * This map (result of the boolean operation) can also be used as the first operand.
*/
Standard_EXPORT void Subtraction (const TColStd_PackedMapOfInteger&,
const TColStd_PackedMapOfInteger&);
/**
- * Apply to this Map the subtraction (aka set-theoretic difference, relative
- * complement, exclude, cut, boolean NOT) operation with another (given) Map.
- * The result contains only the values that were previously contained in
- * this map and not contained in this map.<br>
+ * Apply to this Map the subtraction (aka set-theoretic difference, relative complement, exclude, cut, boolean NOT) operation with another (given) Map.
+ * The result contains only the values that were previously contained in this map and not contained in this map.
* This algorithm is similar to method Subtract() with two operands.
- * Returns True if contents of this map is changed.
+ * @return True if contents of this map is changed
*/
Standard_EXPORT Standard_Boolean Subtract (const TColStd_PackedMapOfInteger&);
{ Subtract(MM); return *this; }
/**
- * Sets this Map to be the result of symmetric difference (aka exclusive
- * disjunction, boolean XOR) operation between two given Maps.
- * The new Map contains the values that are contained only in the
- * first or the second operand maps but not in both.<br>
- * All previous contents of this Map is cleared. This map (result of the
- * boolean operation) can also be used as one of operands.<br>
+ * Sets this Map to be the result of symmetric difference (aka exclusive disjunction, boolean XOR) operation between two given Maps.
+ * The new Map contains the values that are contained only in the first or the second operand maps but not in both.
+ * All previous contents of this Map is cleared.
+ * This map (result of the boolean operation) can also be used as one of operands.
*/
Standard_EXPORT void Difference (const TColStd_PackedMapOfInteger&,
const TColStd_PackedMapOfInteger&);
/**
- * Apply to this Map the symmetric difference (aka exclusive
- * disjunction, boolean XOR) operation with another (given) Map.
- * The result contains the values that are contained only in this
- * or the operand map, but not in both.<br>
+ * Apply to this Map the symmetric difference (aka exclusive disjunction, boolean XOR) operation with another (given) Map.
+ * The result contains the values that are contained only in this or the operand map, but not in both.
* This algorithm is similar to method Difference().
- * Returns True if contents of this map is changed.
+ * @return True if contents of this map is changed
*/
Standard_EXPORT Standard_Boolean Differ (const TColStd_PackedMapOfInteger&);
//Version Date Purpose
// 0.0 Feb 16 1998 Creation
-
-#ifndef _TDF_Attribute_HeaderFile
-#include <TDF_Attribute.hxx>
-#endif
-#ifndef _TDF_Label_HeaderFile
-#include <TDF_Label.hxx>
-#endif
-
#ifndef TDF_AttributeIterator_HeaderFile
#define TDF_AttributeIterator_HeaderFile
-#ifndef _Handle_TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _TDF_LabelNodePtr_HeaderFile
+#include <TDF_Label.hxx>
#include <TDF_LabelNodePtr.hxx>
-#endif
-class TDF_Attribute;
-class TDF_Label;
-
-
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
// This class provides a way to iterates on the
// up-to-date (current) valid attributes of a label.
Quantity_Parameter& theC,
Quantity_Parameter& theD) const;
- //! Returns TRUE when the plane representation is displayed <br>
+ //! Returns TRUE when the plane representation is displayed.
Standard_EXPORT Standard_Boolean IsDisplayed() const;
//! Use this method to pass clipping plane implementation for
//! standard clipping workflow.
//! @return clipping plane implementation handle.
- Standard_EXPORT const Handle(Graphic3d_ClipPlane)& ClipPlane() const
+ const Handle(Graphic3d_ClipPlane)& ClipPlane() const
{
return myPlane;
}
WNT_Dword.hxx
WNT_Uint.hxx
WNT_WindowData.hxx
-WNT_Dword.cxx
-WNT_Uint.cxx
-WNT_WindowData.cxx
+++ /dev/null
-// Copyright (c) 1996-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef __WNT_Dword_HeaderFile
-# include <WNT_Dword.hxx>
-#endif // __WNT_Dword_HeaderFile
-
-const Handle( Standard_Type )& STANDARD_TYPE( WNT_Dword ) {
-
- static Handle( Standard_Type ) _aType = new Standard_Type (
- "WNT_Dword", sizeof ( WNT_Dword )
- );
-
- return _aType;
-
-} // end function
+++ /dev/null
-// Copyright (c) 1996-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef __WNT_Uint_HeaderFile
-# include <WNT_Uint.hxx>
-#endif // __WNT_Uint_HeaderFile
-
-const Handle( Standard_Type )& STANDARD_TYPE( WNT_Uint ) {
-
- static Handle( Standard_Type ) _aType = new Standard_Type (
- "WNT_Uint", sizeof ( WNT_Uint )
- );
-
- return _aType;
-
-} // end function
+++ /dev/null
-// Copyright (c) 1996-1999 Matra Datavision
-// Copyright (c) 1999-2014 OPEN CASCADE SAS
-//
-// This file is part of Open CASCADE Technology software library.
-//
-// This library is free software; you can redistribute it and/or modify it under
-// the terms of the GNU Lesser General Public License version 2.1 as published
-// by the Free Software Foundation, with special exception defined in the file
-// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-// distribution for complete text of the license and disclaimer of any warranty.
-//
-// Alternatively, this file may be used under the terms of Open CASCADE
-// commercial license or contractual agreement.
-
-#ifndef __WNT_WindowData_HeaderFile
-# include <WNT_WindowData.hxx>
-#endif // __WNT_WindowData_HeaderFile
-
-const Handle( Standard_Type )& STANDARD_TYPE( WNT_WindowData ) {
-
- static Handle( Standard_Type ) _aType = new Standard_Type (
- "WNT_WindowData",
- sizeof ( WNT_WindowData )
- );
-
- return _aType;
-
-} // end function