mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
Additional fix for the bug 0020944: EDF 1464 SMESH: detection of over-constrained elements of a mesh.
This commit is contained in:
parent
6665afd414
commit
44a302322a
@ -72,6 +72,7 @@
|
||||
<parameter name="DisplayMode" value="true" />
|
||||
<parameter name="auto_update" value="true" />
|
||||
<parameter name="update_limit" value="500000" />
|
||||
<parameter name="display_entity" value="true" />
|
||||
<parameter name="display_mode" value="1" />
|
||||
<parameter name="auto_groups" value="false"/>
|
||||
<parameter name="show_result_notification" value="2"/>
|
||||
|
@ -125,6 +125,7 @@ SMESH_ActorDef::SMESH_ActorDef()
|
||||
myTimeStamp = vtkTimeStamp::New();
|
||||
|
||||
myIsPointsVisible = false;
|
||||
myIsEntityModeCache = false;
|
||||
|
||||
myIsShrinkable = false;
|
||||
myIsShrunk = false;
|
||||
@ -431,6 +432,7 @@ SMESH_ActorDef::SMESH_ActorDef()
|
||||
return;
|
||||
|
||||
myEntityMode = eAllEntity;
|
||||
myEntityModeCache = eAllEntity;
|
||||
|
||||
// Clipping planes
|
||||
myImplicitBoolean = vtkImplicitBoolean::New();
|
||||
@ -827,29 +829,48 @@ SetControlMode(eControl theMode,
|
||||
}
|
||||
}
|
||||
|
||||
if(theCheckEntityMode){
|
||||
if(myControlActor == my1DActor)
|
||||
if(theCheckEntityMode) {
|
||||
if(myControlActor == my1DActor) {
|
||||
if (!myIsEntityModeCache){
|
||||
myEntityModeCache = GetEntityMode();
|
||||
myIsEntityModeCache=true;
|
||||
}
|
||||
SetEntityMode(eEdges);
|
||||
else if(myControlActor == my2DActor){
|
||||
switch(myControlMode){
|
||||
}
|
||||
else if(myControlActor == my2DActor) {
|
||||
switch(myControlMode) {
|
||||
case eLength2D:
|
||||
case eFreeEdges:
|
||||
case eFreeFaces:
|
||||
case eMultiConnection2D:
|
||||
//SetEntityMode(eEdges);
|
||||
if (!myIsEntityModeCache){
|
||||
myEntityModeCache = GetEntityMode();
|
||||
myIsEntityModeCache=true;
|
||||
}
|
||||
SetEntityMode(eFaces);
|
||||
break;
|
||||
default:
|
||||
if (!myIsEntityModeCache){
|
||||
myEntityModeCache = GetEntityMode();
|
||||
myIsEntityModeCache=true;
|
||||
}
|
||||
SetEntityMode(eFaces);
|
||||
}
|
||||
}else if(myControlActor == my3DActor)
|
||||
}else if(myControlActor == my3DActor) {
|
||||
if (!myIsEntityModeCache){
|
||||
myEntityModeCache = GetEntityMode();
|
||||
myIsEntityModeCache=true;
|
||||
}
|
||||
SetEntityMode(eVolumes);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
if(theCheckEntityMode)
|
||||
myEntityMode = eAllEntity;
|
||||
if(theCheckEntityMode){
|
||||
myEntityMode = myEntityModeCache;
|
||||
myIsEntityModeCache = false;
|
||||
}
|
||||
myFunctor.reset();
|
||||
}
|
||||
|
||||
@ -857,6 +878,7 @@ SetControlMode(eControl theMode,
|
||||
|
||||
myTimeStamp->Modified();
|
||||
Modified();
|
||||
Update();
|
||||
}
|
||||
|
||||
|
||||
@ -1611,6 +1633,11 @@ void SMESH_ActorDef::Update(){
|
||||
if(myIsFacesOriented){
|
||||
SetFacesOriented(myIsFacesOriented);
|
||||
}
|
||||
|
||||
if(myVisualObj->GetEntitiesFlag()) {
|
||||
myEntityMode |= myVisualObj->GetEntitiesState();
|
||||
}
|
||||
|
||||
SetEntityMode(GetEntityMode());
|
||||
SetVisibility(GetVisibility());
|
||||
|
||||
|
@ -262,6 +262,8 @@ class SMESH_ActorDef : public SMESH_Actor
|
||||
|
||||
unsigned int myEntityMode;
|
||||
unsigned int myEntityState;
|
||||
unsigned int myEntityModeCache;
|
||||
bool myIsEntityModeCache;
|
||||
bool myIsPointsVisible;
|
||||
|
||||
bool myIsShrinkable;
|
||||
|
Loading…
Reference in New Issue
Block a user