Salome HOME
Source IHM nettoye
[modules/hexablock.git] / src / HEXABLOCKGUI / HEXABLOCKGUI_SalomeTools.hxx
index 71738ccd5dbb32549f1c6eca6ea8366d28b8b470..752cf49b0c793359ff00d9098cd18d62e085b21d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2009-2012  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 #include <SALOME_Actor.h>
 #include <SALOME_ListIO.hxx>
 #include <SALOME_ListIteratorOfListIO.hxx>
-
-
-#include "GEOM_Client.hxx"
-// #include "GEOMBase_Helper.h"
-#include "GEOM_Displayer.h"
-
-
-
-#include <TopoDS_Shape.hxx>
+#include <Handle_AIS_InteractiveObject.hxx>
+#include <Handle_AIS_InteractiveContext.hxx>
+#include <SelectMgr_IndexedMapOfOwner.hxx>
 #include <SALOME_Actor.h>
 #include <SVTK_ViewWindow.h>
 
-
+#include <gp_Pnt.hxx>
+#include <TopoDS_Shape.hxx>
+#include <TopoDS_Vertex.hxx>
 
 namespace HEXABLOCK
 {
@@ -46,38 +42,46 @@ namespace HEXABLOCK
 
   SALOME_Actor* findActorByEntry( SVTK_ViewWindow *theVtkViewWindow, const char* theEntry );
   _PTR(Study)   GetActiveStudyDocument();
-  CORBA::Object_var corbaObj( _PTR(SObject) theSO );
-  CORBA::Object_var corbaObj( const Handle(SALOME_InteractiveObject)& theIO );
+
   int GetNameOfSelectedElements( SVTK_ViewWindow *theWindow,/* SVTK_Selector* theSelector,*/
                                  const Handle(SALOME_InteractiveObject)& theIO,
                                  QString& theName );
-  std::string shape2string( const TopoDS_Shape& aShape );
 
+  std::string shape2string( const TopoDS_Shape& aShape );
 
-  
-  class MyGEOM_Displayer : public GEOM_Displayer
-  {
-    public:
-      MyGEOM_Displayer( SalomeApp_Study* app );
-      virtual ~MyGEOM_Displayer();
-
+  void getEntityOwners( const Handle(AIS_InteractiveObject)& theObj,
+                               const Handle(AIS_InteractiveContext)& theIC,
+                               SelectMgr_IndexedMapOfOwner& theMap );
 
-    SALOME_Prs* BuildPrs( GEOM::GEOM_Object_ptr theObj );
+  void indicesToOwners( const TColStd_IndexedMapOfInteger& aIndexMap,
+                               const TopoDS_Shape& aMainShape,
+                               const SelectMgr_IndexedMapOfOwner& anAllMap,
+                               SelectMgr_IndexedMapOfOwner& aToHiliteMap );
 
-//   int aPrevDispMode = getDisplayer()->SetDisplayMode( displayMode );
-//   getDisplayer()->SetToActivate( activate );
-//   getDisplayer()->SetName( objStr.in() );
-//   SALOME_Prs* aPrs = getDisplayer()->BuildPrs( object );
+  TopoDS_Shape getSubShape(const TopoDS_Shape& theShape, const int theIndex);
+  int getSubId(const TopoDS_Shape& theShape, const TopoDS_Shape& theSubShape);
 
+  Standard_Boolean getExtremaSolution(const gp_Pnt& theInitPnt,
+                                                                         const TopoDS_Shape& theRefShape,
+                                                                         gp_Pnt& thePnt);
 
+  TopoDS_Vertex makePoint(const double x, const double y, const double z);
 
+  TopoDS_Vertex makePointWithReference(const TopoDS_Shape& point, const double dx,
+                                                           const double dy,
+                                                           const double dz);
 
-  };
+  TopoDS_Vertex makePointOnCurve(const TopoDS_Shape& edge, const double param);
 
+  TopoDS_Vertex makePointOnCurveByLength(const TopoDS_Shape& edge, const TopoDS_Shape& point, const double length);
 
+  TopoDS_Vertex makePointOnCurveByCoord(const TopoDS_Shape& edge, const double x, const double y, const double z);
 
+  TopoDS_Vertex makePointOnLinesIntersection(const TopoDS_Shape& line1, const TopoDS_Shape& line2);
 
+  TopoDS_Vertex makePointOnSurface(const TopoDS_Shape& face, const double param_u, const double param_v);
 
+  TopoDS_Vertex makePointOnSurfaceByCoord(const TopoDS_Shape& face, const double x, const double y, const double z);
 
   }
 }