File indexing completed on 2026-10-10 09:29:02
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _LocOpe_LinearForm_HeaderFile
0018 #define _LocOpe_LinearForm_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Shape.hxx>
0024 #include <gp_Vec.hxx>
0025 #include <NCollection_List.hxx>
0026 #include <TopTools_ShapeMapHasher.hxx>
0027 #include <NCollection_DataMap.hxx>
0028 #include <gp_Pnt.hxx>
0029
0030
0031
0032 class LocOpe_LinearForm
0033 {
0034 public:
0035 DEFINE_STANDARD_ALLOC
0036
0037 LocOpe_LinearForm();
0038
0039 LocOpe_LinearForm(const TopoDS_Shape& Base,
0040 const gp_Vec& V,
0041 const gp_Pnt& Pnt1,
0042 const gp_Pnt& Pnt2);
0043
0044 LocOpe_LinearForm(const TopoDS_Shape& Base,
0045 const gp_Vec& V,
0046 const gp_Vec& Vectra,
0047 const gp_Pnt& Pnt1,
0048 const gp_Pnt& Pnt2);
0049
0050 Standard_EXPORT void Perform(const TopoDS_Shape& Base,
0051 const gp_Vec& V,
0052 const gp_Pnt& Pnt1,
0053 const gp_Pnt& Pnt2);
0054
0055 Standard_EXPORT void Perform(const TopoDS_Shape& Base,
0056 const gp_Vec& V,
0057 const gp_Vec& Vectra,
0058 const gp_Pnt& Pnt1,
0059 const gp_Pnt& Pnt2);
0060
0061 Standard_EXPORT const TopoDS_Shape& FirstShape() const;
0062
0063 Standard_EXPORT const TopoDS_Shape& LastShape() const;
0064
0065 Standard_EXPORT const TopoDS_Shape& Shape() const;
0066
0067 Standard_EXPORT const NCollection_List<TopoDS_Shape>& Shapes(const TopoDS_Shape& S) const;
0068
0069 private:
0070 Standard_EXPORT void IntPerf();
0071
0072 TopoDS_Shape myBase;
0073 gp_Vec myVec;
0074 gp_Vec myTra;
0075 bool myDone;
0076 bool myIsTrans;
0077 TopoDS_Shape myRes;
0078 TopoDS_Shape myFirstShape;
0079 TopoDS_Shape myLastShape;
0080 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher> myMap;
0081 gp_Pnt myPnt1;
0082 gp_Pnt myPnt2;
0083 };
0084
0085 #include <LocOpe_LinearForm.lxx>
0086
0087 #endif