// 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 _BRepMesh_HeaderFile #define _BRepMesh_HeaderFile #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class BRepMesh_Vertex; class TopoDS_Edge; class TopoDS_Vertex; class BRepMesh_FaceAttribute; class BRepMesh_VertexInspector; class BRepMesh_CircleInspector; class BRepMesh_Classifier; class Poly_Triangulation; class BRepMesh_VertexTool; namespace BRepMesh { //! Default size for memory block allocated by IncAllocator. /** * The idea here is that blocks of the given size are returned to the system * rather than retained in the malloc heap, at least on WIN32 and WIN64 platforms. */ #ifdef _WIN64 const size_t MEMORY_BLOCK_SIZE_HUGE = 1024 * 1024; #else const size_t MEMORY_BLOCK_SIZE_HUGE = 512 * 1024; #endif //! Structure keeping parameters of segment. struct Segment { gp_XY StartPnt; gp_XY EndPnt; }; //! Sequences typedef NCollection_Sequence SequenceOfBndB2d; typedef NCollection_Sequence SequenceOfInteger; typedef NCollection_Sequence SequenceOfReal; //! Vectors typedef NCollection_Vector VectorOfVertex; typedef NCollection_Vector VectorOfInteger; typedef NCollection_Vector VectorOfCircle; //! Trees typedef NCollection_EBTree BndBox2dTree; typedef NCollection_UBTreeFiller BndBox2dTreeFiller; //! Arrays typedef NCollection_Array1 Array1OfVertexOfDelaun; typedef NCollection_Array1 Array1OfInteger; typedef NCollection_Array1 Array1OfReal; typedef NCollection_Array1 Array1OfSegments; //! Lists typedef NCollection_List ListOfXY; typedef NCollection_List ListOfVertex; typedef NCollection_List ListOfInteger; //! Maps typedef NCollection_Map MapOfReal; typedef NCollection_Map MapOfInteger; typedef NCollection_DataMap DMapOfTriangulationBool; typedef NCollection_Map MapOfShape; typedef NCollection_DataMap MapOfIntegerInteger; typedef NCollection_DataMap DMapOfVertexInteger; typedef NCollection_DataMap DMapOfFaceAttribute; typedef NCollection_DataMap DMapOfShapePairOfPolygon; typedef NCollection_DataMap DMapOfIntegerPnt; typedef NCollection_DataMap DMapOfIntegerListOfXY; typedef NCollection_DataMap DMapOfIntegerListOfInteger; typedef NCollection_DataMap DMapOfEdgeListOfTriangulationBool; typedef NCollection_IndexedMap IMapOfInteger; typedef NCollection_IndexedMap IMapOfReal; typedef NCollection_IndexedMap IMapOfElement; typedef NCollection_IndexedDataMap IDMapOfLink; //! CellFilters typedef NCollection_CellFilter CircleCellFilter; typedef NCollection_CellFilter VertexCellFilter; //! Handles typedef NCollection_Handle HVectorOfVertex; typedef NCollection_Handle HMapOfInteger; typedef NCollection_Handle HIMapOfInteger; typedef NCollection_Handle HDMapOfShapePairOfPolygon; typedef NCollection_Handle HDMapOfIntegerPnt; typedef NCollection_Handle HClassifier; typedef NCollection_Handle HBndBox2dTree; typedef NCollection_Handle HArray1OfSegments; typedef NCollection_Handle HDMapOfVertexInteger; typedef NCollection_Handle HDMapOfIntegerListOfXY; typedef NCollection_Handle HVertexTool; typedef NCollection_Handle HSequenceOfBndB2d; typedef NCollection_Handle HSequenceOfInteger; //! Other data structures typedef std::pair SegmentsTree; typedef NCollection_Array1 Array1OfSegmentsTree; } // namespace BRepMesh #endif