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