Salome HOME
[bos #41409][FORUM] (2024) kindOfShape() bug for CONE2D
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_ShapeInfo.hxx
index 217be9796455b5edfa16c0d286b2b6f749a64be7..3d969f5d6a284d2487f4ca4ad77efe641b05285b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 #include <GEOMAlgo_KindOfName.hxx>
 #include <GEOMAlgo_KindOfBounds.hxx>
 #include <GEOMAlgo_KindOfClosed.hxx>
+#include <GEOMAlgo_KindOfDef.hxx>
+#include <GEOMAlgo_KindOfPeriod.hxx>
+
+#include <TColgp_HArray1OfPnt.hxx>
+#include <TColStd_HArray1OfReal.hxx>
+#include <TColStd_HArray1OfInteger.hxx>
 
 
 //=======================================================================
@@ -62,7 +68,8 @@ class GEOMAlgo_ShapeInfo
     TopAbs_ShapeEnum Type() const;
 
   Standard_EXPORT
-    void SetNbSubShapes(const TopAbs_ShapeEnum aType,const Standard_Integer aNb) ;
+    void SetNbSubShapes(const TopAbs_ShapeEnum aType,
+                        const Standard_Integer aNb) ;
 
   Standard_EXPORT
     Standard_Integer NbSubShapes(const TopAbs_ShapeEnum aType) const;
@@ -91,6 +98,18 @@ class GEOMAlgo_ShapeInfo
   Standard_EXPORT
     GEOMAlgo_KindOfClosed KindOfClosed() const;
 
+  Standard_EXPORT
+    void SetKindOfDef(const GEOMAlgo_KindOfDef aT) ;
+
+  Standard_EXPORT
+    GEOMAlgo_KindOfDef KindOfDef() const;
+
+  Standard_EXPORT
+    void SetKindOfPeriod(const GEOMAlgo_KindOfPeriod aT) ;
+
+  Standard_EXPORT
+    GEOMAlgo_KindOfPeriod KindOfPeriod() const;
+
   Standard_EXPORT
     void SetLocation(const gp_Pnt& aP) ;
 
@@ -154,6 +173,60 @@ class GEOMAlgo_ShapeInfo
   Standard_EXPORT
     Standard_Real Height() const;
 
+  Standard_EXPORT
+    void SetDegree(const Standard_Integer aDeg) ;
+
+  Standard_EXPORT
+    Standard_Integer Degree() const;
+
+  Standard_EXPORT
+    void SetNbPoles(const Standard_Integer aNb) ;
+
+  Standard_EXPORT
+    Standard_Integer NbPoles() const;
+
+  Standard_EXPORT
+    void SetNbKnots(const Standard_Integer aNb) ;
+
+  Standard_EXPORT
+    Standard_Integer NbKnots() const;
+
+  Standard_EXPORT
+    void SetNbWeights(const Standard_Integer aNb) ;
+
+  Standard_EXPORT
+    Standard_Integer NbWeights() const;
+
+  Standard_EXPORT
+    void SetNbMultiplicities(const Standard_Integer aNb) ;
+
+  Standard_EXPORT
+    Standard_Integer NbMultiplicities() const;
+
+  Standard_EXPORT
+    void SetPoles(Handle(TColgp_HArray1OfPnt) P) ;
+
+  Standard_EXPORT
+    Handle(TColgp_HArray1OfPnt) Poles() const;
+
+  Standard_EXPORT
+    void SetKnots(Handle(TColStd_HArray1OfReal) K) ;
+
+  Standard_EXPORT
+    Handle(TColStd_HArray1OfReal) Knots() const;
+
+  Standard_EXPORT
+    void SetWeights(Handle(TColStd_HArray1OfReal) W) ;
+
+  Standard_EXPORT
+    Handle(TColStd_HArray1OfReal) Weights() const;
+
+  Standard_EXPORT
+    void SetMultiplicities(Handle(TColStd_HArray1OfInteger) M) ;
+
+  Standard_EXPORT
+    Handle(TColStd_HArray1OfInteger) Multiplicities() const;
+
   Standard_EXPORT
     void Dump() const;
 
@@ -189,6 +262,7 @@ class GEOMAlgo_ShapeInfo
   GEOMAlgo_KindOfName myKindOfName;
   GEOMAlgo_KindOfBounds myKindOfBounds;
   GEOMAlgo_KindOfClosed myKindOfClosed;
+  GEOMAlgo_KindOfDef myKindOfDef;
   gp_Pnt myLocation;
   gp_Dir myDirection;
   gp_Ax3 myPosition;
@@ -199,6 +273,16 @@ class GEOMAlgo_ShapeInfo
   Standard_Real myHeight;
   gp_Pnt myPnt1;
   gp_Pnt myPnt2;
+  GEOMAlgo_KindOfPeriod myKindOfPeriod;
   Standard_Integer myNbTypes;
+  Standard_Integer myNbKnots;
+  Standard_Integer myNbPoles;
+  Standard_Integer myNbWeights;
+  Standard_Integer myNbMultiplicities;
+  Standard_Integer myDegree;
+  Handle(TColgp_HArray1OfPnt)      myPoles;
+  Handle(TColStd_HArray1OfReal)    myKnots;
+  Handle(TColStd_HArray1OfReal)    myWeights;
+  Handle(TColStd_HArray1OfInteger) myMultiplicities;
 };
 #endif