File indexing completed on 2026-10-04 09:15:10
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _LocOpe_DPrism_HeaderFile
0018 #define _LocOpe_DPrism_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <BRepFill_Evolved.hxx>
0025 #include <TopoDS_Shape.hxx>
0026 #include <TopoDS_Face.hxx>
0027 #include <TopoDS_Wire.hxx>
0028 #include <TopoDS_Edge.hxx>
0029 #include <Geom_Curve.hxx>
0030 #include <NCollection_Sequence.hxx>
0031 #include <NCollection_List.hxx>
0032 #include <TopTools_ShapeMapHasher.hxx>
0033 #include <NCollection_DataMap.hxx>
0034 class Geom_Curve;
0035
0036
0037
0038 class LocOpe_DPrism
0039 {
0040 public:
0041 DEFINE_STANDARD_ALLOC
0042
0043 Standard_EXPORT LocOpe_DPrism(const TopoDS_Face& Spine,
0044 const double Height1,
0045 const double Height2,
0046 const double Angle);
0047
0048 Standard_EXPORT LocOpe_DPrism(const TopoDS_Face& Spine, const double Height, const double Angle);
0049
0050 Standard_EXPORT bool IsDone() const;
0051
0052 Standard_EXPORT const TopoDS_Shape& Spine() const;
0053
0054 Standard_EXPORT const TopoDS_Shape& Profile() const;
0055
0056 Standard_EXPORT const TopoDS_Shape& FirstShape() const;
0057
0058 Standard_EXPORT const TopoDS_Shape& LastShape() const;
0059
0060 Standard_EXPORT const TopoDS_Shape& Shape() const;
0061
0062 Standard_EXPORT const NCollection_List<TopoDS_Shape>& Shapes(const TopoDS_Shape& S) const;
0063
0064 Standard_EXPORT void Curves(NCollection_Sequence<occ::handle<Geom_Curve>>& SCurves) const;
0065
0066 Standard_EXPORT occ::handle<Geom_Curve> BarycCurve() const;
0067
0068 private:
0069 Standard_EXPORT void IntPerf();
0070
0071 BRepFill_Evolved myDPrism;
0072 TopoDS_Shape myRes;
0073 TopoDS_Face mySpine;
0074 TopoDS_Wire myProfile;
0075 TopoDS_Edge myProfile1;
0076 TopoDS_Edge myProfile2;
0077 TopoDS_Edge myProfile3;
0078 double myHeight;
0079 TopoDS_Shape myFirstShape;
0080 TopoDS_Shape myLastShape;
0081 NCollection_Sequence<occ::handle<Geom_Curve>> myCurvs;
0082 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher> myMap;
0083 };
0084
0085 #endif