X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_Actor.cxx;h=0d3a46d24cac72e91279e7649ecafd53e70853ce;hp=5d80d26fa2418db47018d602e5df36ef3354ffae;hb=fa397b27d14c143edc9b3bb38ddbabbfec9ab229;hpb=e4737e85f0da6d3f90fd08f6be1c2825195fe16f diff --git a/src/OBJECT/SMESH_Actor.cxx b/src/OBJECT/SMESH_Actor.cxx index 5d80d26fa..0d3a46d24 100644 --- a/src/OBJECT/SMESH_Actor.cxx +++ b/src/OBJECT/SMESH_Actor.cxx @@ -27,13 +27,13 @@ // $Header$ -#include "SMESH_Actor.h" +#include "SMESH_ActorDef.h" #include "SMESH_ActorUtils.h" #include "SMESH_DeviceActor.h" +#include "SMESH_ControlsDef.hxx" #include "SALOME_ExtractUnstructuredGrid.h" #include "QAD_Config.h" -#include "utilities.h" #include #include @@ -69,20 +69,20 @@ #include #include +#include "utilities.h" + #ifdef _DEBUG_ static int MYDEBUG = 0; -static int MYDEBUGWITHFILES = 0; #else static int MYDEBUG = 0; -static int MYDEBUGWITHFILES = 0; #endif static int aLineWidthInc = 2; static int aPointSizeInc = 2; -SMESH_Actor* SMESH_Actor::New(){ - return new SMESH_Actor(); +SMESH_ActorDef* SMESH_ActorDef::New(){ + return new SMESH_ActorDef(); } @@ -91,7 +91,7 @@ SMESH_Actor* SMESH_Actor::New(TVisualObjPtr theVisualObj, const char* theName, int theIsClear) { - SMESH_Actor* anActor = SMESH_Actor::New(); + SMESH_ActorDef* anActor = SMESH_ActorDef::New(); if(!anActor->Init(theVisualObj,theEntry,theName,theIsClear)){ anActor->Delete(); anActor = NULL; @@ -100,8 +100,8 @@ SMESH_Actor* SMESH_Actor::New(TVisualObjPtr theVisualObj, } -SMESH_Actor::SMESH_Actor(){ - if(MYDEBUG) MESSAGE("SMESH_Actor"); +SMESH_ActorDef::SMESH_ActorDef(){ + if(MYDEBUG) MESSAGE("SMESH_ActorDef"); myTimeStamp = vtkTimeStamp::New(); @@ -284,8 +284,7 @@ SMESH_Actor::SMESH_Actor(){ myName = ""; myIO = NULL; - myColorMode = eNone; - my1DColorMode = e1DNone; + myControlMode = eNone; myControlActor = my2DActor; //Definition of myScalarBarActor @@ -438,7 +437,9 @@ SMESH_Actor::SMESH_Actor(){ aPtsTextProp->SetShadow(0); myPtsLabeledDataMapper->SetLabelTextProperty(aPtsTextProp); aPtsTextProp->Delete(); - + + myEntityMode = eAllEntity; + myIsPointsLabeled = false; myPointLabels = vtkActor2D::New(); @@ -491,8 +492,8 @@ SMESH_Actor::SMESH_Actor(){ } -SMESH_Actor::~SMESH_Actor(){ - if(MYDEBUG) MESSAGE("~SMESH_Actor"); +SMESH_ActorDef::~SMESH_ActorDef(){ + if(MYDEBUG) MESSAGE("~SMESH_ActorDef"); myScalarBarActor->Delete(); myLookupTable->Delete(); @@ -562,7 +563,7 @@ SMESH_Actor::~SMESH_Actor(){ } -void SMESH_Actor::SetPointsLabeled( bool theIsPointsLabeled ) +void SMESH_ActorDef::SetPointsLabeled( bool theIsPointsLabeled ) { vtkUnstructuredGrid* aGrid = GetUnstructuredGrid(); myIsPointsLabeled = theIsPointsLabeled && aGrid->GetNumberOfPoints(); @@ -597,7 +598,7 @@ void SMESH_Actor::SetPointsLabeled( bool theIsPointsLabeled ) } -void SMESH_Actor::SetCellsLabeled(bool theIsCellsLabeled){ +void SMESH_ActorDef::SetCellsLabeled(bool theIsCellsLabeled){ vtkUnstructuredGrid* aGrid = GetUnstructuredGrid(); myIsCellsLabeled = theIsCellsLabeled && aGrid->GetNumberOfPoints(); if(myIsCellsLabeled){ @@ -620,9 +621,8 @@ void SMESH_Actor::SetCellsLabeled(bool theIsCellsLabeled){ } -void SMESH_Actor::SetControlMode(eControl theMode){ - myColorMode = eNone; - my1DColorMode = e1DNone; +void SMESH_ActorDef::SetControlMode(eControl theMode){ + myControlMode = eNone; my1DActor->GetMapper()->SetScalarVisibility(false); my2DActor->GetMapper()->SetScalarVisibility(false); @@ -634,7 +634,7 @@ void SMESH_Actor::SetControlMode(eControl theMode){ if(anIsScalarVisible){ SMESH::Controls::FunctorPtr aFunctor; switch(theMode){ - case eLengthEdges: + case eLength: { SMESH::Controls::Length* aControl = new SMESH::Controls::Length(); aControl->SetPrecision( myControlsPrecision ); @@ -642,6 +642,12 @@ void SMESH_Actor::SetControlMode(eControl theMode){ myControlActor = my1DActor; break; } + case eLength2D: + { + aFunctor.reset(new SMESH::Controls::Length2D()); + myControlActor = my2DActor; + break; + } case eFreeBorders: aFunctor.reset(new SMESH::Controls::FreeBorders()); myControlActor = my1DActor; @@ -654,6 +660,10 @@ void SMESH_Actor::SetControlMode(eControl theMode){ aFunctor.reset(new SMESH::Controls::MultiConnection()); myControlActor = my1DActor; break; + case eMultiConnection2D: + aFunctor.reset(new SMESH::Controls::MultiConnection2D()); + myControlActor = my2DActor; + break; case eArea: { SMESH::Controls::Area* aControl = new SMESH::Controls::Area(); @@ -678,6 +688,14 @@ void SMESH_Actor::SetControlMode(eControl theMode){ myControlActor = my2DActor; break; } + case eAspectRatio3D: + { + SMESH::Controls::AspectRatio3D* aControl = new SMESH::Controls::AspectRatio3D(); + aControl->SetPrecision( myControlsPrecision ); + aFunctor.reset( aControl ); + myControlActor = my3DActor; + break; + } case eMinimumAngle: { SMESH::Controls::MinimumAngle* aControl = new SMESH::Controls::MinimumAngle(); @@ -709,17 +727,36 @@ void SMESH_Actor::SetControlMode(eControl theMode){ vtkUnstructuredGrid* aGrid = myControlActor->GetUnstructuredGrid(); vtkIdType aNbCells = aGrid->GetNumberOfCells(); if(aNbCells){ - myColorMode = theMode; - if(theMode == eFreeBorders || theMode == eFreeEdges){ - my1DColorMode = e1DHighlited; + myControlMode = theMode; + switch(myControlMode){ + case eFreeEdges: + case eFreeBorders: my1DExtActor->SetExtControlMode(aFunctor,myControlActor); - }else{ - if(myControlActor == my1DActor) - my1DColorMode = e1DColored; + break; + case eLength2D: + my1DExtActor->SetExtControlMode(aFunctor,myControlActor,myScalarBarActor,myLookupTable); + break; + case eMultiConnection2D: + my1DExtActor->SetExtControlMode(aFunctor,myControlActor,myScalarBarActor,myLookupTable); + break; + default: myControlActor->SetControlMode(aFunctor,myScalarBarActor,myLookupTable); } } + + if(QAD_CONFIG->getSetting("SMESH:DispayEntity") == "true"){ + if(myControlActor == my1DActor) + myEntityMode = eEdges; + else if(myControlActor == my2DActor) + myEntityMode = eFaces; + else if(myControlActor == my3DActor) + myEntityMode = eVolumes; + } + + }else if(QAD_CONFIG->getSetting("SMESH:DispayEntity") == "true"){ + myEntityMode = eAllEntity; } + SetRepresentation(GetRepresentation()); myTimeStamp->Modified(); @@ -727,7 +764,7 @@ void SMESH_Actor::SetControlMode(eControl theMode){ } -void SMESH_Actor::AddToRender(vtkRenderer* theRenderer){ +void SMESH_ActorDef::AddToRender(vtkRenderer* theRenderer){ SALOME_Actor::AddToRender(theRenderer); theRenderer->AddActor(myNodeActor); @@ -751,7 +788,7 @@ void SMESH_Actor::AddToRender(vtkRenderer* theRenderer){ theRenderer->AddActor2D(myCellsLabels); } -void SMESH_Actor::RemoveFromRender(vtkRenderer* theRenderer){ +void SMESH_ActorDef::RemoveFromRender(vtkRenderer* theRenderer){ SALOME_Actor::RemoveFromRender(theRenderer); theRenderer->RemoveActor(myNodeActor); @@ -772,10 +809,10 @@ void SMESH_Actor::RemoveFromRender(vtkRenderer* theRenderer){ } -bool SMESH_Actor::Init(TVisualObjPtr theVisualObj, - const char* theEntry, - const char* theName, - int theIsClear) +bool SMESH_ActorDef::Init(TVisualObjPtr theVisualObj, + const char* theEntry, + const char* theName, + int theIsClear) { Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject(theEntry,"SMESH",theName); setIO(anIO); @@ -809,6 +846,8 @@ bool SMESH_Actor::Init(TVisualObjPtr theVisualObj, my3DActor->Init(myVisualObj,myImplicitBoolean); my1DActor->GetMapper()->SetLookupTable(myLookupTable); + my1DExtActor->GetMapper()->SetLookupTable(myLookupTable); + my2DActor->GetMapper()->SetLookupTable(myLookupTable); my3DActor->GetMapper()->SetLookupTable(myLookupTable); @@ -840,17 +879,17 @@ bool SMESH_Actor::Init(TVisualObjPtr theVisualObj, } -float* SMESH_Actor::GetBounds(){ +float* SMESH_ActorDef::GetBounds(){ return myNodeActor->GetBounds(); } -vtkDataSet* SMESH_Actor::GetInput(){ +vtkDataSet* SMESH_ActorDef::GetInput(){ return GetUnstructuredGrid(); } -void SMESH_Actor::SetTransform(SALOME_Transform* theTransform){ +void SMESH_ActorDef::SetTransform(SALOME_Transform* theTransform){ myNodeActor->SetTransform(theTransform); myBaseActor->SetTransform(theTransform); @@ -867,27 +906,27 @@ void SMESH_Actor::SetTransform(SALOME_Transform* theTransform){ } -void SMESH_Actor::SetMapper(vtkMapper* theMapper){ +void SMESH_ActorDef::SetMapper(vtkMapper* theMapper){ vtkLODActor::SetMapper(theMapper); } -void SMESH_Actor::ShallowCopy(vtkProp *prop){ +void SMESH_ActorDef::ShallowCopy(vtkProp *prop){ SALOME_Actor::ShallowCopy(prop); } -vtkMapper* SMESH_Actor::GetMapper(){ +vtkMapper* SMESH_ActorDef::GetMapper(){ return myPickableActor->GetMapper(); } -vtkUnstructuredGrid* SMESH_Actor::GetUnstructuredGrid(){ +vtkUnstructuredGrid* SMESH_ActorDef::GetUnstructuredGrid(){ return myVisualObj->GetUnstructuredGrid(); } -bool SMESH_Actor::IsInfinitive(){ +bool SMESH_ActorDef::IsInfinitive(){ vtkDataSet *aDataSet = myPickableActor->GetUnstructuredGrid(); aDataSet->Update(); myIsInfinite = aDataSet->GetNumberOfCells() == 0 || @@ -897,16 +936,16 @@ bool SMESH_Actor::IsInfinitive(){ } -void SMESH_Actor::SetIsShrunkable(bool theShrunkable){ +void SMESH_ActorDef::SetIsShrunkable(bool theShrunkable){ myIsShrinkable = theShrunkable; Modified(); } -float SMESH_Actor::GetShrinkFactor(){ +float SMESH_ActorDef::GetShrinkFactor(){ return myBaseActor->GetShrinkFactor(); } -void SMESH_Actor::SetShrinkFactor(float theValue){ +void SMESH_ActorDef::SetShrinkFactor(float theValue){ myBaseActor->SetShrinkFactor(theValue); my1DActor->SetShrinkFactor(theValue); @@ -918,7 +957,7 @@ void SMESH_Actor::SetShrinkFactor(float theValue){ Modified(); } -void SMESH_Actor::SetShrink(){ +void SMESH_ActorDef::SetShrink(){ if(!myIsShrinkable) return; myBaseActor->SetShrink(); @@ -933,7 +972,7 @@ void SMESH_Actor::SetShrink(){ Modified(); } -void SMESH_Actor::UnShrink(){ +void SMESH_ActorDef::UnShrink(){ if(!myIsShrunk) return; myBaseActor->UnShrink(); @@ -949,74 +988,117 @@ void SMESH_Actor::UnShrink(){ } -int SMESH_Actor::GetNodeObjId(int theVtkID){ +int SMESH_ActorDef::GetNodeObjId(int theVtkID){ return myPickableActor->GetNodeObjId(theVtkID); } -float* SMESH_Actor::GetNodeCoord(int theObjID){ +float* SMESH_ActorDef::GetNodeCoord(int theObjID){ return myPickableActor->GetNodeCoord(theObjID); } -int SMESH_Actor::GetElemObjId(int theVtkID){ +int SMESH_ActorDef::GetElemObjId(int theVtkID){ return myPickableActor->GetElemObjId(theVtkID); } -vtkCell* SMESH_Actor::GetElemCell(int theObjID){ +vtkCell* SMESH_ActorDef::GetElemCell(int theObjID){ return myPickableActor->GetElemCell(theObjID); } -void SMESH_Actor::SetVisibility(int theMode){ +void SMESH_ActorDef::SetVisibility(int theMode){ SetVisibility(theMode,true); } -void SMESH_Actor::SetVisibility(int theMode, bool theIsUpdateRepersentation){ +void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation){ SALOME_Actor::SetVisibility(theMode); + + myNodeActor->VisibilityOff(); + myBaseActor->VisibilityOff(); + + my1DActor->VisibilityOff(); + my1DExtActor->VisibilityOff(); + + my2DActor->VisibilityOff(); + my3DActor->VisibilityOff(); + + myScalarBarActor->VisibilityOff(); + myPointLabels->VisibilityOff(); + myCellsLabels->VisibilityOff(); + if(GetVisibility()){ if(theIsUpdateRepersentation) SetRepresentation(GetRepresentation()); - if(myColorMode != eNone){ - if(my1DColorMode == e1DHighlited) + if(myControlMode != eNone){ + switch(myControlMode){ + case eFreeEdges: + case eFreeBorders: + my1DExtActor->VisibilityOn(); + break; + case eLength2D: + case eMultiConnection2D: my1DExtActor->VisibilityOn(); - else if(myControlActor->GetUnstructuredGrid()->GetNumberOfCells()) - myScalarBarActor->VisibilityOn(); + default: + if(myControlActor->GetUnstructuredGrid()->GetNumberOfCells()) + myScalarBarActor->VisibilityOn(); + } } if(myRepresentation != ePoint) myPickableActor->VisibilityOn(); + else { + myNodeActor->VisibilityOn(); + } - my1DActor->VisibilityOn(); + if(myEntityMode & eEdges){ + my1DActor->VisibilityOn(); + } + + if(myEntityMode & eFaces){ + my2DActor->VisibilityOn(); + } + + if(myEntityMode & eVolumes){ + my3DActor->VisibilityOn(); + } + + if(myIsPointsLabeled){ + myPointLabels->VisibilityOn(); + myNodeActor->VisibilityOn(); + } - my2DActor->VisibilityOn(); - my3DActor->VisibilityOn(); + if(myIsCellsLabeled) + myCellsLabels->VisibilityOn(); + } - if(myIsPointsLabeled) myPointLabels->VisibilityOn(); - if(myIsCellsLabeled) myCellsLabels->VisibilityOn(); - }else{ - myNodeActor->VisibilityOff(); - myBaseActor->VisibilityOff(); + Modified(); +} - my1DActor->VisibilityOff(); - my1DExtActor->VisibilityOff(); - my2DActor->VisibilityOff(); - my3DActor->VisibilityOff(); +void SMESH_ActorDef::SetEntityMode(unsigned int theMode){ + if(!myVisualObj->GetNbEntities(SMDSAbs_Edge)) + theMode &= ~eEdges; - myScalarBarActor->VisibilityOff(); - myPointLabels->VisibilityOff(); - myCellsLabels->VisibilityOff(); - } - Modified(); -} + if(!myVisualObj->GetNbEntities(SMDSAbs_Face)) + theMode &= ~eFaces; + + if(!myVisualObj->GetNbEntities(SMDSAbs_Volume)) + theMode &= ~eVolumes; + if(!theMode) + return; -void SMESH_Actor::SetRepresentation(int theMode){ - int aNbEdges = myVisualObj->GetNbEntities(SMESH::EDGE); - int aNbFaces = myVisualObj->GetNbEntities(SMESH::FACE); - int aNbVolumes = myVisualObj->GetNbEntities(SMESH::VOLUME); + myEntityMode = theMode; + + SetVisibility(GetVisibility(),false); +} + +void SMESH_ActorDef::SetRepresentation(int theMode){ + int aNbEdges = myVisualObj->GetNbEntities(SMDSAbs_Edge); + int aNbFaces = myVisualObj->GetNbEntities(SMDSAbs_Face); + int aNbVolumes = myVisualObj->GetNbEntities(SMDSAbs_Volume); if(theMode < 0){ myRepresentation = eSurface; if(!aNbFaces && !aNbVolumes && aNbEdges){ @@ -1053,7 +1135,7 @@ void SMESH_Actor::SetRepresentation(int theMode){ vtkProperty *aProp = NULL, *aBackProp = NULL; SMESH_DeviceActor::EReperesent aReperesent = SMESH_DeviceActor::EReperesent(-1); switch(myRepresentation){ - case ePoint: + case ePoint: myPickableActor = myNodeActor; myNodeActor->SetVisibility(true); @@ -1080,15 +1162,14 @@ void SMESH_Actor::SetRepresentation(int theMode){ my3DActor->SetRepresentation(aReperesent); my1DExtActor->SetVisibility(false); - switch(my1DColorMode){ - case e1DColored: + + switch(myControlMode){ + case eLength: + case eMultiConnection: aProp = aBackProp = my1DProp; if(myRepresentation != ePoint) aReperesent = SMESH_DeviceActor::eInsideframe; break; - case e1DHighlited: - my1DExtActor->SetVisibility(true); - break; } my1DActor->SetProperty(aProp); @@ -1099,7 +1180,6 @@ void SMESH_Actor::SetRepresentation(int theMode){ if(myIsPointsVisible) myPickableActor = myNodeActor; - if(GetPointRepresentation()) myNodeActor->SetVisibility(true); @@ -1111,17 +1191,17 @@ void SMESH_Actor::SetRepresentation(int theMode){ } -void SMESH_Actor::SetPointRepresentation(bool theIsPointsVisible){ +void SMESH_ActorDef::SetPointRepresentation(bool theIsPointsVisible){ myIsPointsVisible = theIsPointsVisible; SetRepresentation(GetRepresentation()); } -bool SMESH_Actor::GetPointRepresentation(){ +bool SMESH_ActorDef::GetPointRepresentation(){ return myIsPointsVisible || myIsPointsLabeled; } -void SMESH_Actor::UpdateHighlight(){ +void SMESH_ActorDef::UpdateHighlight(){ myHighlitableActor->SetVisibility(false); myHighlitableActor->SetHighlited(false); @@ -1151,20 +1231,20 @@ void SMESH_Actor::UpdateHighlight(){ } -void SMESH_Actor::highlight(bool theHighlight){ +void SMESH_ActorDef::highlight(bool theHighlight){ myIsHighlighted = theHighlight; UpdateHighlight(); } -void SMESH_Actor::SetPreSelected(bool thePreselect){ +void SMESH_ActorDef::SetPreSelected(bool thePreselect){ myIsPreselected = thePreselect; UpdateHighlight(); } // From vtkFollower -int SMESH_Actor::RenderOpaqueGeometry(vtkViewport *vp) +int SMESH_ActorDef::RenderOpaqueGeometry(vtkViewport *vp) { if (myPickableActor->GetIsOpaque()) { @@ -1176,7 +1256,7 @@ int SMESH_Actor::RenderOpaqueGeometry(vtkViewport *vp) } -int SMESH_Actor::RenderTranslucentGeometry(vtkViewport *vp) +int SMESH_ActorDef::RenderTranslucentGeometry(vtkViewport *vp) { if (!myPickableActor->GetIsOpaque()) { @@ -1188,42 +1268,38 @@ int SMESH_Actor::RenderTranslucentGeometry(vtkViewport *vp) } -void SMESH_Actor::Render(vtkRenderer *ren){ - unsigned long mTime = myTimeStamp->GetMTime(); +void SMESH_ActorDef::Render(vtkRenderer *ren){ + unsigned long aTime = myTimeStamp->GetMTime(); unsigned long anObjTime = myVisualObj->GetUnstructuredGrid()->GetMTime(); - if(anObjTime > mTime) + unsigned long aClippingTime = myImplicitBoolean->GetMTime(); + if(anObjTime > aTime || aClippingTime > aTime) Update(); } -void SMESH_Actor::Update(){ - SetVisibility(GetVisibility()); - unsigned long int anObjTime = myVisualObj->GetUnstructuredGrid()->GetMTime(); - unsigned long int aClippingTime = myImplicitBoolean->GetMTime(); - unsigned long int aTime = myTimeStamp->GetMTime(); - if(MYDEBUG) MESSAGE("SMESH_Actor::Update"); +void SMESH_ActorDef::Update(){ + if(MYDEBUG) MESSAGE("SMESH_ActorDef::Update"); if(GetControlMode() != eNone) { - if(anObjTime > aTime || aClippingTime > aTime){ + unsigned long aTime = myTimeStamp->GetMTime(); + unsigned long anObjTime = myVisualObj->GetUnstructuredGrid()->GetMTime(); + if (anObjTime > aTime) SetControlMode(GetControlMode()); - SetVisibility(GetVisibility()); - } } if(myIsPointsLabeled){ - if(anObjTime > aTime || aClippingTime > aTime) - SetPointsLabeled(myIsPointsLabeled); + SetPointsLabeled(myIsPointsLabeled); } if(myIsCellsLabeled){ - if(anObjTime > aTime || aClippingTime > aTime) - SetCellsLabeled(myIsCellsLabeled); + SetCellsLabeled(myIsCellsLabeled); } - + SetVisibility(GetVisibility()); + myTimeStamp->Modified(); Modified(); } -void SMESH_Actor::ReleaseGraphicsResources(vtkWindow *renWin){ +void SMESH_ActorDef::ReleaseGraphicsResources(vtkWindow *renWin){ SALOME_Actor::ReleaseGraphicsResources(renWin); myPickableActor->ReleaseGraphicsResources(renWin); @@ -1238,7 +1314,7 @@ static void GetColor(vtkProperty *theProperty, float& r,float& g,float& b){ } -void SMESH_Actor::SetOpacity(float theValue){ +void SMESH_ActorDef::SetOpacity(float theValue){ mySurfaceProp->SetOpacity(theValue); myBackSurfaceProp->SetOpacity(theValue); myEdgeProp->SetOpacity(theValue); @@ -1248,74 +1324,74 @@ void SMESH_Actor::SetOpacity(float theValue){ } -float SMESH_Actor::GetOpacity(){ +float SMESH_ActorDef::GetOpacity(){ return mySurfaceProp->GetOpacity(); } -void SMESH_Actor::SetSufaceColor(float r,float g,float b){ +void SMESH_ActorDef::SetSufaceColor(float r,float g,float b){ mySurfaceProp->SetColor(r,g,b); Modified(); } -void SMESH_Actor::GetSufaceColor(float& r,float& g,float& b){ +void SMESH_ActorDef::GetSufaceColor(float& r,float& g,float& b){ ::GetColor(mySurfaceProp,r,g,b); } -void SMESH_Actor::SetBackSufaceColor(float r,float g,float b){ +void SMESH_ActorDef::SetBackSufaceColor(float r,float g,float b){ myBackSurfaceProp->SetColor(r,g,b); Modified(); } -void SMESH_Actor::GetBackSufaceColor(float& r,float& g,float& b){ +void SMESH_ActorDef::GetBackSufaceColor(float& r,float& g,float& b){ ::GetColor(myBackSurfaceProp,r,g,b); } -void SMESH_Actor::SetEdgeColor(float r,float g,float b){ +void SMESH_ActorDef::SetEdgeColor(float r,float g,float b){ myEdgeProp->SetColor(r,g,b); my1DProp->SetColor(r,g,b); my1DExtProp->SetColor(1.0-r,1.0-g,1.0-b); Modified(); } -void SMESH_Actor::GetEdgeColor(float& r,float& g,float& b){ +void SMESH_ActorDef::GetEdgeColor(float& r,float& g,float& b){ ::GetColor(myEdgeProp,r,g,b); } -void SMESH_Actor::SetNodeColor(float r,float g,float b){ +void SMESH_ActorDef::SetNodeColor(float r,float g,float b){ myNodeProp->SetColor(r,g,b); Modified(); } -void SMESH_Actor::GetNodeColor(float& r,float& g,float& b){ +void SMESH_ActorDef::GetNodeColor(float& r,float& g,float& b){ ::GetColor(myNodeProp,r,g,b); } -void SMESH_Actor::SetHighlightColor(float r,float g,float b){ +void SMESH_ActorDef::SetHighlightColor(float r,float g,float b){ myHighlightProp->SetColor(r,g,b); Modified(); } -void SMESH_Actor::GetHighlightColor(float& r,float& g,float& b){ +void SMESH_ActorDef::GetHighlightColor(float& r,float& g,float& b){ ::GetColor(myHighlightProp,r,g,b); } -void SMESH_Actor::SetPreHighlightColor(float r,float g,float b){ +void SMESH_ActorDef::SetPreHighlightColor(float r,float g,float b){ myPreselectProp->SetColor(r,g,b); Modified(); } -void SMESH_Actor::GetPreHighlightColor(float& r,float& g,float& b){ +void SMESH_ActorDef::GetPreHighlightColor(float& r,float& g,float& b){ ::GetColor(myPreselectProp,r,g,b); } -float SMESH_Actor::GetLineWidth(){ +float SMESH_ActorDef::GetLineWidth(){ return myEdgeProp->GetLineWidth(); } -void SMESH_Actor::SetLineWidth(float theVal){ +void SMESH_ActorDef::SetLineWidth(float theVal){ myEdgeProp->SetLineWidth(theVal); my1DProp->SetLineWidth(theVal + aLineWidthInc); @@ -1325,7 +1401,7 @@ void SMESH_Actor::SetLineWidth(float theVal){ } -void SMESH_Actor::SetNodeSize(float theVal){ +void SMESH_ActorDef::SetNodeSize(float theVal){ myNodeProp->SetPointSize(theVal); myHighlightProp->SetPointSize(theVal); myPreselectProp->SetPointSize(theVal); @@ -1336,17 +1412,17 @@ void SMESH_Actor::SetNodeSize(float theVal){ Modified(); } -float SMESH_Actor::GetNodeSize(){ +float SMESH_ActorDef::GetNodeSize(){ return myNodeProp->GetPointSize(); } -int SMESH_Actor::GetObjDimension( const int theObjId ) +int SMESH_ActorDef::GetObjDimension( const int theObjId ) { return myVisualObj->GetElemDimension( theObjId ); } -vtkImplicitBoolean* SMESH_Actor::GetPlaneContainer(){ +vtkImplicitBoolean* SMESH_ActorDef::GetPlaneContainer(){ return myImplicitBoolean; } @@ -1418,17 +1494,16 @@ static void PositionToDistance(vtkDataSet* theDataSet, } -void SMESH_Actor::SetPlaneParam(float theDir[3], float theDist, vtkPlane* thePlane) +void SMESH_ActorDef::SetPlaneParam(float theDir[3], float theDist, vtkPlane* thePlane) { thePlane->SetNormal(theDir); float anOrigin[3]; ::DistanceToPosition(GetUnstructuredGrid(),theDir,theDist,anOrigin); thePlane->SetOrigin(anOrigin); - Update(); } -void SMESH_Actor::GetPlaneParam(float theDir[3], float& theDist, vtkPlane* thePlane) +void SMESH_ActorDef::GetPlaneParam(float theDir[3], float& theDist, vtkPlane* thePlane) { thePlane->GetNormal(theDir);