geom/src/EntityGUI/EntityGUI.h

80 lines
2.6 KiB
C
Raw Normal View History

2003-07-09 20:33:44 +06:00
// GEOM GEOMGUI : GUI for Geometry component
//
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// 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.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
//
//
//
2004-01-07 20:46:21 +05:00
// File : EntityGUI.h
// Author : Damien COQUERET
2003-07-09 20:33:44 +06:00
// Module : GEOM
2004-12-01 15:39:14 +05:00
// $Header$
2003-05-12 21:24:23 +06:00
2004-01-07 20:46:21 +05:00
#ifndef ENTITYGUI_H
#define ENTITYGUI_H
2003-05-12 21:24:23 +06:00
2004-12-01 15:39:14 +05:00
#include "GEOMGUI.h"
2004-01-07 20:46:21 +05:00
#include "GEOMBase.h"
2003-05-12 21:24:23 +06:00
#include "SALOMEDSClient.hxx"
2003-05-12 21:24:23 +06:00
//=================================================================================
2004-01-07 20:46:21 +05:00
// class : EntityGUI
2003-05-12 21:24:23 +06:00
// purpose :
//=================================================================================
2004-12-01 15:39:14 +05:00
class EntityGUI : public GEOMGUI
2004-01-07 20:46:21 +05:00
{
2004-12-01 15:39:14 +05:00
protected:
EntityGUI( GeometryGUI* parent ); // hide constructor to avoid direct creation
2004-01-07 20:46:21 +05:00
public :
~EntityGUI();
2004-12-01 15:39:14 +05:00
// Get the only EntityGUI object
static EntityGUI* GetEntityGUI( GeometryGUI* parent );
2004-12-01 15:39:14 +05:00
bool OnGUIEvent(int theCommandID, SUIT_Desktop* parent);
2004-01-07 20:46:21 +05:00
2004-06-16 21:24:55 +06:00
void OnSketchEnd(const char *Cmd);
void DisplaySimulationShape(const TopoDS_Shape& S1, const TopoDS_Shape& S2);
2004-12-01 15:39:14 +05:00
void EraseSimulationShape();
void MakeInterpolAndDisplay(GEOM::string_array& listShapesIOR);
void MakeBezierAndDisplay(GEOM::string_array& listShapesIOR);
2004-01-07 20:46:21 +05:00
/* Methods for sub shapes explode */
bool SObjectExist(const _PTR(SObject)& theFatherObject, const char* IOR);
2004-01-07 20:46:21 +05:00
bool OnSubShapeGetAll(const TopoDS_Shape& ShapeTopo, const char* ShapeTopoIOR, const int SubShapeType);
bool OnSubShapeGetSelected(const TopoDS_Shape& ShapeTopo, const char* ShapeTopoIOR, const int SubShapeType,
Standard_Integer& aLocalContextId, bool& myUseLocalContext);
2004-06-16 21:24:55 +06:00
/* AIS shape used only during topo/geom simulations */
Handle(AIS_Shape) mySimulationShape1;
Handle(AIS_Shape) mySimulationShape2;
2004-01-07 20:46:21 +05:00
GEOMBase* myGeomBase;
GEOM::GEOM_Gen_var myGeom; /* Current Geom Component */
2004-12-01 15:39:14 +05:00
private:
static EntityGUI* myGUIObject; // the only EntityGUI object
2003-05-12 21:24:23 +06:00
};
2004-01-07 20:46:21 +05:00
#endif