Salome HOME
[bos #32720] EDF 25230 - partition fails on small case
[modules/geom.git] / src / GEOM / GEOM_Function.hxx
old mode 100755 (executable)
new mode 100644 (file)
index 702acb9..635dabf
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2022  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #include <Standard_Transient.hxx>
 #include <Standard_GUID.hxx>
 #include <TColStd_HArray1OfExtendedString.hxx>
+#include <TColStd_HArray1OfByte.hxx>
+#include <TColStd_HArray1OfReal.hxx>
+#include <TColStd_HArray1OfInteger.hxx>
+#include <TColStd_HSequenceOfTransient.hxx>
 #include <TCollection_AsciiString.hxx>
 #include <TDF_Label.hxx>
 #include <TDF_LabelSequence.hxx>
 #include <TDataStd_ListOfExtendedString.hxx>
 #include <TopoDS_Shape.hxx>
 
-class Handle_TColStd_HArray1OfReal;
-class Handle_TColStd_HArray1OfInteger;
-class Handle_TColStd_HSequenceOfTransient;
 class GEOM_Function;
-DEFINE_STANDARD_HANDLE (GEOM_Function, Standard_Transient);
+DEFINE_STANDARD_HANDLE (GEOM_Function, Standard_Transient)
 
 class GEOM_Function : public Standard_Transient
 {
@@ -55,7 +56,7 @@ public:
 
 
   Standard_EXPORT GEOM_Function(const TDF_Label& theEntry, const Standard_GUID& theGUID, int theType);
-  Standard_EXPORT ~GEOM_Function() {}
+  Standard_EXPORT ~GEOM_Function();
 
   Standard_EXPORT TDF_Label GetOwnerEntry();
 
@@ -108,6 +109,18 @@ public:
   //Returns an integer array argument at position thePosition
   Standard_EXPORT Handle(TColStd_HArray1OfInteger) GetIntegerArray(int thePosition);
 
+  //Sets a byte array argument at position thePosition
+  Standard_EXPORT void SetByteArray(int thePosition, const Handle(TColStd_HArray1OfByte)& theArray);
+
+  //Returns a byte array argument at position thePosition
+  Standard_EXPORT Handle(TColStd_HArray1OfByte) GetByteArray(int thePosition);
+
+  //Sets a boolean array argument at position thePosition
+  Standard_EXPORT void SetBooleanArray(int thePosition, const Handle(TColStd_HArray1OfByte)& theArray);
+
+  //Returns a boolean array argument at position thePosition
+  Standard_EXPORT Handle(TColStd_HArray1OfByte) GetBooleanArray(int thePosition);
+
   //Sets a reference to other function argument at position thePosition
   Standard_EXPORT void SetReference(int thePosition, Handle(GEOM_Function) theReference);
 
@@ -139,6 +152,17 @@ public:
   //Returns a list of references to other function arguments at position thePosition
   Standard_EXPORT Handle(TColStd_HSequenceOfTransient) GetReferenceList (int thePosition);
 
+  // Save a pointer to a data holder intended to pass data Driver -> Operation.
+  // This method should be called by Operation to set the data holder.
+  // An instance of GEOM_Function that sets the data holder will remove the
+  // corresponding OCAF attribute at it's destruction
+  Standard_EXPORT void SetCallBackData( void* data );
+
+  // Returns a pointer to a data holder intended to pass data Driver -> Operation.
+  // This method should be called by Driver to get the data holder to fill it in.
+  // Returns NULL if the Operation have not set the data holder.
+  Standard_EXPORT void* GetCallBackData();
+
   //Sets a TopoDS_Shape argument at position thePosition
   //void SetShape(int thePosition, const TopoDS_Shape& theShape);
 
@@ -148,7 +172,7 @@ public:
   //Returns true if the last method succided
   Standard_EXPORT bool IsDone() { return _isDone; }
 
-  //Retuns true if this function is the last one in the study
+  //Returns true if this function is the last one in the study
   Standard_EXPORT bool IsLastFuntion();
 
   //Returns a sequence of the external dependencies of this function
@@ -171,12 +195,13 @@ public:
   //Returns top label of this function's naming tree
   Standard_EXPORT TDF_Label GetNamingEntry (const Standard_Boolean create = Standard_True);
 
-  DEFINE_STANDARD_RTTI (GEOM_Function);
+  DEFINE_STANDARD_RTTIEXT(GEOM_Function,Standard_Transient)
 
   private:
 
   TDF_Label _label;
   bool      _isDone;
+  bool      _isCallBackData;
 };
 
 #endif