mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 17:30:35 +05:00
GPUSPHGUI: show a custom control by setting a functor
This commit is contained in:
parent
5c08cbc223
commit
2ffe4e63a8
@ -172,8 +172,8 @@ namespace MED
|
|||||||
|
|
||||||
//---------------------------------------------------------------
|
//---------------------------------------------------------------
|
||||||
TVWrapper::TVWrapper(const std::string& theFileName, TInt theMinor):
|
TVWrapper::TVWrapper(const std::string& theFileName, TInt theMinor):
|
||||||
myMinor(theMinor),
|
myFile(new TFile(theFileName, theMinor)),
|
||||||
myFile(new TFile(theFileName, theMinor))
|
myMinor(theMinor)
|
||||||
{
|
{
|
||||||
TErr aRet;
|
TErr aRet;
|
||||||
myFile->Open( eLECTURE_ECRITURE, &aRet );
|
myFile->Open( eLECTURE_ECRITURE, &aRet );
|
||||||
|
@ -804,12 +804,20 @@ bool SMESH_ActorDef::GetFacesOrientation3DVectors()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SMESH_ActorDef::SetControl(SMESH::Controls::FunctorPtr theFunctor)
|
||||||
|
{
|
||||||
|
myFunctor = theFunctor;
|
||||||
|
if ( !theFunctor )
|
||||||
|
SetControlMode( eNone, true );
|
||||||
|
else
|
||||||
|
SetControlMode( eCustomControl, true );
|
||||||
|
}
|
||||||
|
|
||||||
void SMESH_ActorDef::SetControlMode(eControl theMode)
|
void SMESH_ActorDef::SetControlMode(eControl theMode)
|
||||||
{
|
{
|
||||||
SetControlMode(theMode,true);
|
SetControlMode(theMode,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SMESH_ActorDef::SetControlMode( eControl theMode, bool theCheckEntityMode )
|
void SMESH_ActorDef::SetControlMode( eControl theMode, bool theCheckEntityMode )
|
||||||
{
|
{
|
||||||
vtkLookupTable* lookupTable = static_cast<vtkLookupTable*>(myScalarBarActor->GetLookupTable());
|
vtkLookupTable* lookupTable = static_cast<vtkLookupTable*>(myScalarBarActor->GetLookupTable());
|
||||||
@ -1006,6 +1014,19 @@ void SMESH_ActorDef::SetControlMode( eControl theMode, bool theCheckEntityMode )
|
|||||||
myControlActor = myNodeActor;
|
myControlActor = myNodeActor;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case eCustomControl:
|
||||||
|
{
|
||||||
|
if ( !myFunctor )
|
||||||
|
return;
|
||||||
|
switch ( myFunctor->GetType() ) {
|
||||||
|
case SMDSAbs_Node : myControlActor = myNodeActor; break;
|
||||||
|
case SMDSAbs_Edge : myControlActor = my1DActor; break;
|
||||||
|
case SMDSAbs_Face : myControlActor = my2DActor; break;
|
||||||
|
case SMDSAbs_Volume : myControlActor = my3DActor; break;
|
||||||
|
default : return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -146,8 +146,10 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
|
|||||||
eMinimumAngle, eWarping, eSkew, eAspectRatio3D, eMultiConnection2D, eVolume3D,
|
eMinimumAngle, eWarping, eSkew, eAspectRatio3D, eMultiConnection2D, eVolume3D,
|
||||||
eMaxElementLength2D, eMaxElementLength3D, eBareBorderFace, eBareBorderVolume,
|
eMaxElementLength2D, eMaxElementLength3D, eBareBorderFace, eBareBorderVolume,
|
||||||
eOverConstrainedFace, eOverConstrainedVolume, eCoincidentNodes,
|
eOverConstrainedFace, eOverConstrainedVolume, eCoincidentNodes,
|
||||||
eCoincidentElems1D, eCoincidentElems2D, eCoincidentElems3D, eNodeConnectivityNb };
|
eCoincidentElems1D, eCoincidentElems2D, eCoincidentElems3D, eNodeConnectivityNb,
|
||||||
|
eCustomControl };
|
||||||
virtual void SetControlMode(eControl theMode) = 0;
|
virtual void SetControlMode(eControl theMode) = 0;
|
||||||
|
virtual void SetControl(SMESH::Controls::FunctorPtr) = 0;
|
||||||
virtual eControl GetControlMode() = 0;
|
virtual eControl GetControlMode() = 0;
|
||||||
virtual SMESH::Controls::FunctorPtr GetFunctor() = 0;
|
virtual SMESH::Controls::FunctorPtr GetFunctor() = 0;
|
||||||
virtual int GetNumberControlEntities() = 0;
|
virtual int GetNumberControlEntities() = 0;
|
||||||
|
@ -209,6 +209,7 @@ class SMESH_ActorDef : public SMESH_Actor
|
|||||||
virtual bool GetFacesOrientation3DVectors();
|
virtual bool GetFacesOrientation3DVectors();
|
||||||
|
|
||||||
virtual void SetControlMode(eControl theMode);
|
virtual void SetControlMode(eControl theMode);
|
||||||
|
virtual void SetControl(SMESH::Controls::FunctorPtr theFunctor);
|
||||||
virtual int GetNumberControlEntities();
|
virtual int GetNumberControlEntities();
|
||||||
virtual eControl GetControlMode(){ return myControlMode;}
|
virtual eControl GetControlMode(){ return myControlMode;}
|
||||||
virtual SMESH::Controls::FunctorPtr GetFunctor() { return myFunctor; }
|
virtual SMESH::Controls::FunctorPtr GetFunctor() { return myFunctor; }
|
||||||
|
Loading…
Reference in New Issue
Block a user