X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM%2FGEOM_Function.hxx;h=8e6a89453d3a4d8dd7f1a5857079329849754e2c;hb=d617faae6bc5aeb91b63796618a20c7c13037b6c;hp=702acb95981ea341008cea1524cb6d0620664084;hpb=7d880c6a8262b6d670ed70ee2b9ec25c199a46d4;p=modules%2Fgeom.git diff --git a/src/GEOM/GEOM_Function.hxx b/src/GEOM/GEOM_Function.hxx index 702acb959..8e6a89453 100644 --- a/src/GEOM/GEOM_Function.hxx +++ b/src/GEOM/GEOM_Function.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -26,17 +26,18 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include #include -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