Salome HOME
0021684: EDF 2221 : Display the arguments and the name of the operations
[modules/geom.git] / src / GEOMImpl / GEOMImpl_DividedDiskDriver.hxx
index bb28103296339b3414f33707fa8c524263e035b2..8f6755a800e1e2fc6419e25cfe40969950512d1e 100644 (file)
@@ -33,73 +33,13 @@ class gp_Pnt;
 class gp_Dir;
 class gp_Ax3;
 
-Standard_EXPORT Handle_Standard_Type& STANDARD_TYPE(GEOMImpl_DividedDiskDriver);
+#include "GEOM_BaseDriver.hxx"
 
-class Handle(GEOMImpl_DividedDiskDriver) : public Handle(TFunction_Driver) {
-public:
-  inline void* operator new(size_t,void* anAddress) 
-  {
-    return anAddress;
-  }
-  inline void* operator new(size_t size) 
-  { 
-    return Standard::Allocate(size); 
-  }
-  inline void  operator delete(void *anAddress) 
-  { 
-    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
-  }
-  
-  Handle(GEOMImpl_DividedDiskDriver)():Handle(TFunction_Driver)() {} 
-  Handle(GEOMImpl_DividedDiskDriver)(const Handle(GEOMImpl_DividedDiskDriver)& aHandle) : Handle(TFunction_Driver)(aHandle) 
-  {}
-
-  Handle(GEOMImpl_DividedDiskDriver)(const GEOMImpl_DividedDiskDriver* anItem) : Handle(TFunction_Driver)((TFunction_Driver *)anItem) 
-  {}
-
-  Handle(GEOMImpl_DividedDiskDriver)& operator=(const Handle(GEOMImpl_DividedDiskDriver)& aHandle)
-  {
-    Assign(aHandle.Access());
-    return *this;
-  }
-  
-  Handle(GEOMImpl_DividedDiskDriver)& operator=(const GEOMImpl_DividedDiskDriver* anItem)
-  {
-    Assign((Standard_Transient *)anItem);
-    return *this;
-  }
-  
-  GEOMImpl_DividedDiskDriver* operator->() 
-  {
-    return (GEOMImpl_DividedDiskDriver *)ControlAccess();
-  }
-  
-  GEOMImpl_DividedDiskDriver* operator->() const 
-  {
-    return (GEOMImpl_DividedDiskDriver *)ControlAccess();
-  }
-  
-  Standard_EXPORT ~Handle(GEOMImpl_DividedDiskDriver)() {};
-  
-  Standard_EXPORT static const Handle(GEOMImpl_DividedDiskDriver) DownCast(const Handle(Standard_Transient)& AnObject);
-};
+DEFINE_STANDARD_HANDLE( GEOMImpl_DividedDiskDriver, GEOM_BaseDriver );
 
-class GEOMImpl_DividedDiskDriver : public TFunction_Driver {
+class GEOMImpl_DividedDiskDriver : public GEOM_BaseDriver {
 public:
-  inline void* operator new(size_t,void* anAddress) 
-  {
-    return anAddress;
-  }
-  inline void* operator new(size_t size) 
-  { 
-    return Standard::Allocate(size); 
-  }
-  inline void  operator delete(void *anAddress) 
-  { 
-    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
-  }
-  
-  // Methods PUBLIC
+ // Methods PUBLIC
   // 
   Standard_EXPORT GEOMImpl_DividedDiskDriver();
   Standard_EXPORT virtual  Standard_Integer Execute(TFunction_Logbook& log) const; 
@@ -110,25 +50,18 @@ public:
   }
   Standard_EXPORT static const Standard_GUID& GetID();
   Standard_EXPORT ~GEOMImpl_DividedDiskDriver() {};
-  
-  // Type management
-  //
-  Standard_EXPORT friend Handle_Standard_Type& GEOMImpl_DividedDiskDriver_Type_();
-  Standard_EXPORT const Handle(Standard_Type)& DynamicType() const
-  {
-    return STANDARD_TYPE(GEOMImpl_DividedDiskDriver);
-  }
-  Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)& AType) const
-  {
-    return (STANDARD_TYPE(GEOMImpl_DividedDiskDriver) == AType || TFunction_Driver::IsKind(AType));
-  } 
-  
+  Standard_EXPORT virtual
+  bool GetCreationInformation(std::string&             theOperationName,
+                              std::vector<GEOM_Param>& params);
 private:
   TopoDS_Shape TransformShape  (TopoDS_Shape aShape, int theOrientation) const;
   TopoDS_Shape TransformShape  (TopoDS_Shape aShape, gp_Pnt P, gp_Dir V) const;
   TopoDS_Shape WPlaneTransform (TopoDS_Shape aShape, gp_Ax3 theWPlane) const;
   TopoDS_Shell MakeDiskHexagon (double R, double Ratio) const;
   TopoDS_Shape MakeDiskSquare  (double R, double Ratio) const;
+
+  DEFINE_STANDARD_RTTI( GEOMImpl_DividedDiskDriver )
 };
 
 #endif // _GEOMImpl_DividedDiskDriver_HXX