Salome HOME
Copyright update 2022
[modules/geom.git] / src / CurveCreator / CurveCreator_Section.hxx
index 68b03aaa7e01ba0f75ca82bd9ad1fcecf0cfb6fc..ae9edfa2f100b3b0e37f58c4f89bf0f091bd1e4c 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2013-2022  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 #define _CurveCreator_Section_HeaderFile
 
 #include "CurveCreator.hxx"
+#include "CurveCreator_ICurve.hxx"
 
 #include <string>
 
 //! Structure to store sections representing the CurveCreator_Curve object
-struct CurveCreator_Section
+struct CURVECREATOR_EXPORT CurveCreator_Section :
+  public CurveCreator_ISection
 {
   //! Constructor. Initializes object with default values.
-  CurveCreator_Section() : myName("Section"),myType(CurveCreator::Polyline), myIsClosed(false)
+  CurveCreator_Section() : myName("Section"),myType(CurveCreator::Polyline),
+    myIsClosed(false), myColor (Quantity_NOC_RED)
   { }
 
-  std::string               myName; //!< section name
+  std::string               myName;     //!< section name
   CurveCreator::Coordinates myPoints;   //!< points coordinates
   CurveCreator::SectionType myType;     //!< type of the section
   bool                      myIsClosed; //!< closed or not
+  Quantity_Color            myColor;    //!< color of section
 
+  //! A virtual method.
+  Handle(TColgp_HArray1OfPnt) GetDifferentPoints( int theDimension ) const;
 };
 
 #endif