/usr/include/oce/QANewModTopOpe_Glue.hxx is in liboce-visualization-dev 0.18.2-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | // This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _QANewModTopOpe_Glue_HeaderFile
#define _QANewModTopOpe_Glue_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Standard_Boolean.hxx>
#include <BRepTools_Substitution.hxx>
#include <TopTools_DataMapOfShapeListOfShape.hxx>
#include <TopTools_DataMapOfShapeShape.hxx>
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#include <TopTools_MapOfShape.hxx>
#include <BRepAlgoAPI_BooleanOperation.hxx>
#include <TopAbs_State.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Real.hxx>
class TopoDS_Shape;
class TopTools_ListOfShape;
class TopTools_DataMapOfShapeListOfShape;
class TopoDS_Face;
class TopTools_MapOfShape;
class gp_Pnt;
class TopoDS_Edge;
class TopoDS_Vertex;
class TopTools_IndexedDataMapOfShapeListOfShape;
//! Perform the gluing topological operation
//! (topological sewing of two topological objects).
class QANewModTopOpe_Glue : public BRepAlgoAPI_BooleanOperation
{
public:
DEFINE_STANDARD_ALLOC
//! Defines 2 operands.
//! If one of operands is Solid and another is Shell and Shell
//! goes inside Solid, the <allowCutting> determines what to do:
//! if True, Shell is cut by Solid during the operation;
//! if False, Null shape is returned, IsDone() returns False.
//! If <thePerformNow> is False then does not compute immediately.
Standard_EXPORT QANewModTopOpe_Glue(const TopoDS_Shape& theS1, const TopoDS_Shape& theS2, const Standard_Boolean theAllowCutting = Standard_False, const Standard_Boolean thePerformNow = Standard_True);
//! Computation; is usefull when Create was called with thePerformNow
//! being False
Standard_EXPORT void Build() ;
//! Returns the list of shapes generated from the
//! shape <theS>.
Standard_EXPORT const TopTools_ListOfShape& Generated (const TopoDS_Shape& theS) ;
//! Returns the list of shapes modified from the shape
//! <theS>.
Standard_EXPORT const TopTools_ListOfShape& Modified (const TopoDS_Shape& theS) ;
//! Returns True if the shape <theS> existed in one of operands
//! and is absent in the result.
Standard_EXPORT Standard_Boolean IsDeleted (const TopoDS_Shape& theS) ;
//! Returns True if there is at leat one generated shape
Standard_EXPORT virtual Standard_Boolean HasGenerated() const;
//! Returns True if there is at leat one modified shape
Standard_EXPORT virtual Standard_Boolean HasModified() const;
//! Returns True if there is at leat one deleted shape
Standard_EXPORT virtual Standard_Boolean HasDeleted() const;
Standard_EXPORT static Standard_Boolean ProjPointOnEdge (const gp_Pnt& thePnt, const TopoDS_Edge& theEdge, Standard_Real& thePar, Standard_Real& theDist) ;
Standard_EXPORT static void InsertVertexInEdge (const TopoDS_Edge& theEdge, const TopoDS_Vertex& theVer, const Standard_Real thePar, TopoDS_Edge& theNewEdge) ;
Standard_EXPORT static void SplitEdgeByVertex (const TopoDS_Edge& theEdge, const TopoDS_Vertex& theVer, const Standard_Real thePar, TopTools_ListOfShape& theListE) ;
Standard_EXPORT static Standard_Boolean CompareVertices (const TopoDS_Vertex& theV1, const TopoDS_Vertex& theV2, Standard_Real& theDist) ;
protected:
private:
//! Performs gluing Shell-Wire
Standard_EXPORT void PerformShellWire() ;
//! Performs gluing Solid-Vertex and Shell-Vertex
Standard_EXPORT void PerformVertex() ;
//! Performs gluing Solid-Shell and Shell-Shell
Standard_EXPORT void PerformShell() ;
//! Performs gluing Wire-Wire
Standard_EXPORT void PerformWires() ;
//! This function performs gluing operation of same domain
//! faces theFirstSDFace and theSecondSDFace on shapes
//! theNewSolid1 and theNewSolid2 and returns them.
//! theMapOfChangedFaces contains changed faces as keys and
//! lists of their splits as items.
Standard_EXPORT Standard_Boolean SubstitudeSDFaces (const TopoDS_Shape& theFirstSDFace, const TopoDS_Shape& theSecondSDFace, TopoDS_Shape& theNewSolid1, TopoDS_Shape& theNewSolid2, TopTools_DataMapOfShapeListOfShape& theMapOfChangedFaces) ;
//! Performs gluing between same domain faces of object and tool
Standard_EXPORT void PerformSDFaces() ;
//! For the case Solid-Shell, <aFace> is from Shell.
//! Splits <theFace> onto faces by section edges <theListSE> and
//! add <theFace> for substitution by list of faces which are "out"
//! of Solid
Standard_EXPORT Standard_Boolean CutFace (const TopoDS_Face& theFace, const TopTools_ListOfShape& theListSE) ;
//! For the case Solid-Shell, <theFace> is a split of Shell's face.
//! Returns the state of <theFace> relatively Solid.
Standard_EXPORT TopAbs_State ClassifyFace (const TopoDS_Face& theFace, const TopTools_ListOfShape& theListSE) const;
//! Inserts "internal" elements (wires, edges, vertices) computed
//! from a list of section edges <theListSE> into <theFace>.
Standard_EXPORT void SectionInsideFace (const TopoDS_Face& theFace, const TopTools_ListOfShape& theListSE, const Standard_Integer theShapeNum, const TopTools_MapOfShape& theGenEdges) ;
Standard_EXPORT static const TopoDS_Shape& FindWireOrUpdateMap (const TopoDS_Shape& theWire, TopTools_IndexedDataMapOfShapeListOfShape& theMapELW) ;
Standard_Boolean myCompleted;
Standard_Boolean myAllowCutting;
BRepTools_Substitution mySubst;
TopTools_DataMapOfShapeListOfShape myMapSEdgeFaces1;
TopTools_DataMapOfShapeListOfShape myMapSEdgeFaces2;
TopTools_DataMapOfShapeShape myMapSEdgeCrossFace1;
TopTools_DataMapOfShapeShape myMapSEdgeCrossFace2;
TopTools_IndexedDataMapOfShapeListOfShape myMapEdgeWires;
TopTools_MapOfShape myEdgesToLeave;
TopTools_DataMapOfShapeListOfShape myMapModif;
TopTools_DataMapOfShapeListOfShape myMapGener;
};
#endif // _QANewModTopOpe_Glue_HeaderFile
|