X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FOBJECT%2FGEOM_VTKTrihedron.hxx;h=d6b637dc9a037cb078d7af7a4abd47f6ff782002;hb=20c08bd101e9118f6bb8b60a807afa6b6b9ce2c5;hp=b67ad3fbb9e7a00dd6e8996ec7969f2601ced367;hpb=f505d638da4d75d3fe3daf6ce3bf7fab668bfad5;p=modules%2Fgeom.git diff --git a/src/OBJECT/GEOM_VTKTrihedron.hxx b/src/OBJECT/GEOM_VTKTrihedron.hxx index b67ad3fbb..d6b637dc9 100644 --- a/src/OBJECT/GEOM_VTKTrihedron.hxx +++ b/src/OBJECT/GEOM_VTKTrihedron.hxx @@ -1,46 +1,40 @@ -// SALOME GEOM : +// 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 +// + +// SALOME GEOM : // File : GEOM_VTKTrihedron.h // Author : Sergey LITONIN // Module : SALOME // $Header: - +// #ifndef GEOM_VTKTrihedron_H #define GEOM_VTKTrihedron_H +#include "GEOM_OBJECT_defs.hxx" + #include #include "SALOME_Actor.h" #include "VTKViewer_Trihedron.h" -#ifdef WNT -#include -#else -#define SALOME_WNT_EXPORT -#endif - - -class vtkActorCollection; class vtkRenderer; class vtkPolyDataMapper; @@ -50,7 +44,7 @@ class vtkPolyDataMapper; Placement of trihedron is chahged with SetPlacement() method */ -class SALOME_WNT_EXPORT GEOM_VTKTrihedron : public SALOME_Actor +class GEOM_OBJECT_EXPORT GEOM_VTKTrihedron : public SALOME_Actor { protected: @@ -62,8 +56,9 @@ public: vtkTypeMacro( GEOM_VTKTrihedron, SALOME_Actor ); static GEOM_VTKTrihedron* New(); - virtual float GetSize() { return mySize;} + virtual vtkFloatingPointType GetSize() { return mySize;} + virtual void SetVisibility( int theVisibility ); virtual void SetVisibility( VTKViewer_Trihedron::TVisibility theVis ); virtual void VisibilityOff() { SetVisibility( VTKViewer_Trihedron::eOff ); } virtual void VisibilityOn() { SetVisibility( VTKViewer_Trihedron::eOn ); } @@ -80,21 +75,33 @@ public: virtual void Render(vtkRenderer *, vtkMapper *); virtual bool IsSetCamera() const; virtual bool IsResizable() const; - virtual void SetSize( float ); + virtual void SetSize( vtkFloatingPointType ); virtual void SetCamera( vtkCamera* ); - void SetColor( float r, float g, float b ); - void GetColor( float& r, float& g, float& b ); + void SetColor( vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b ); + void GetColor( vtkFloatingPointType& r, vtkFloatingPointType& g, vtkFloatingPointType& b ); - virtual bool hasHighlight() { return false; } + virtual bool hasHighlight() { return true; } + + virtual void Highlight( bool theHighlight ); + virtual bool PreHighlight( vtkInteractorStyle* theInteractorStyle, + SVTK_SelectionEvent* theSelectionEvent, + bool theIsHighlight ); + +protected: + virtual void ResetAxesColors(); + virtual void SetAxesColors( vtkFloatingPointType theColor[3], bool theIsDiffuse = false ); protected: VTKViewer_Axis* myAxis[3]; vtkPolyDataMapper* myMapper; - float mySize; + vtkFloatingPointType mySize; gp_Pnt myLocation; gp_Dir myDirX, myDirY, myDirZ; - float myColor[ 3 ]; + vtkFloatingPointType myColor[ 3 ]; + vtkFloatingPointType myDefaultColor[ 3 ]; + vtkFloatingPointType myPreHighlightColor[ 3 ]; + vtkFloatingPointType myHighlightColor[ 3 ]; }; #endif