X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FOBJECT%2FGEOM_AISShape.hxx;h=78727618c6bc009c9b5661de8165b36535379bc6;hb=8b1511ff6327ae63c450b10e49714d3c83577eda;hp=d809c0dbbb27d4bf40920e77d46b483db62b3dd4;hpb=0f1369c27fd6a84ba1149c3c5f3ed181acc055f1;p=modules%2Fgeom.git diff --git a/src/OBJECT/GEOM_AISShape.hxx b/src/OBJECT/GEOM_AISShape.hxx index d809c0dbb..78727618c 100644 --- a/src/OBJECT/GEOM_AISShape.hxx +++ b/src/OBJECT/GEOM_AISShape.hxx @@ -1,32 +1,34 @@ -// GEOM OBJECT : interactive object for Geometry entities visualization +// Copyright (C) 2007-2010 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 // -// 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 +// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +// GEOM OBJECT : interactive object for Geometry entities visualization // File : GEOM_AISShape.hxx // Module : GEOM - +// #ifndef _GEOM_AISShape_HeaderFile #define _GEOM_AISShape_HeaderFile +#include "GEOM_OBJECT_defs.hxx" + #ifndef _Standard_HeaderFile #include #endif @@ -53,13 +55,14 @@ #include #endif +#include + class PrsMgr_PresentationManager3d; class Prs3d_Presentation; class SALOME_InteractiveObject; class TopoDS_Shape; - -class GEOM_AISShape : public SALOME_AISShape { +class GEOM_OBJECT_EXPORT GEOM_AISShape : public SALOME_AISShape { public: @@ -81,54 +84,40 @@ public: // } // Methods PUBLIC // -Standard_EXPORT GEOM_AISShape(const TopoDS_Shape& shape, const Standard_CString aName); -Standard_EXPORT Standard_Boolean hasIO() ; -Standard_EXPORT void setIO(const Handle(SALOME_InteractiveObject)& name) ; -Standard_EXPORT void setName(const Standard_CString aName) ; -Standard_EXPORT Standard_CString getName() ; -Standard_EXPORT Handle_SALOME_InteractiveObject getIO() ; -Standard_EXPORT ~GEOM_AISShape(); - -Standard_EXPORT void SetTransparency(const Standard_Real aValue); -Standard_EXPORT void SetShadingColor(const Quantity_Color &aCol); - -Standard_EXPORT virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager, - const Handle(Prs3d_Presentation)& aPresentation, - const Standard_Integer aMode = 0) ; - + GEOM_AISShape(const TopoDS_Shape& shape, const Standard_CString aName); + Standard_Boolean hasIO() ; + void setIO(const Handle(SALOME_InteractiveObject)& name) ; + void setName(const Standard_CString aName) ; + Standard_CString getName() ; + Handle_SALOME_InteractiveObject getIO() ; + void highlightSubShapes(const TColStd_IndexedMapOfInteger& aIndexMap, const Standard_Boolean aHighlight ); + ~GEOM_AISShape(); + + void SetTransparency(const Standard_Real aValue); + void SetShadingColor(const Quantity_Color &aCol); + void SetDisplayVectors(bool isShow); + + virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager, + const Handle(Prs3d_Presentation)& aPresentation, + const Standard_Integer aMode = 0) ; + + virtual bool isShowVectors () { return myDisplayVectors; } + // Type management // - Standard_EXPORT friend Handle_Standard_Type& GEOM_AISShape_Type_(); - Standard_EXPORT const Handle(Standard_Type)& DynamicType() const; - Standard_EXPORT Standard_Boolean IsKind(const Handle(Standard_Type)&) const; - -protected: - - // Methods PROTECTED - // - - - // Fields PROTECTED - // + friend Handle_Standard_Type& GEOM_AISShape_Type_(); + const Handle(Standard_Type)& DynamicType() const; + Standard_Boolean IsKind(const Handle(Standard_Type)&) const; +protected: + Quantity_Color myShadingColor; private: - - // Methods PRIVATE - // - - - // Fields PRIVATE - // - Handle_SALOME_InteractiveObject myIO; - Standard_CString myName; - Quantity_Color myShadingColor; + TCollection_AsciiString myName; + bool myDisplayVectors; }; - - - // other inline functions and methods (like "C++: function call" methods) //