mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-04-24 01:22:05 +05:00
#19463 fix edges flickering with group of volumes
This commit is contained in:
parent
3dd8c23971
commit
d790688908
@ -1270,15 +1270,7 @@ bool SMESH_ActorDef::Init(TVisualObjPtr theVisualObj,
|
|||||||
// coincident patch. See also #18940.
|
// coincident patch. See also #18940.
|
||||||
// NOTE: use Resolve coincident topology for actors in the same
|
// NOTE: use Resolve coincident topology for actors in the same
|
||||||
// mapper. If several mappers, then use Relative coincident topology
|
// mapper. If several mappers, then use Relative coincident topology
|
||||||
double aFactor, aUnits;
|
SetRelativeTopologyOffsetParameters(2, 2);
|
||||||
my2DActor->GetPolygonOffsetParameters(aFactor,aUnits);
|
|
||||||
my2DActor->SetPolygonOffsetParameters(aFactor,aUnits);
|
|
||||||
my2DExtActor->SetPolygonOffsetParameters(aFactor,aUnits*0.5);
|
|
||||||
my3DActor->SetPolygonOffsetParameters(aFactor*2,aUnits*2);
|
|
||||||
myHighlitableActor->GetMapper()->SetRelativeCoincidentTopologyLineOffsetParameters(aFactor*(-1.0),
|
|
||||||
aUnits*(-50));
|
|
||||||
my2DActor->GetMapper()->SetRelativeCoincidentTopologyPolygonOffsetParameters(-aFactor, -aUnits);
|
|
||||||
my3DActor->GetMapper()->SetRelativeCoincidentTopologyLineOffsetParameters(-aUnits-1, -aUnits-1);
|
|
||||||
|
|
||||||
SUIT_ResourceMgr* mgr = SUIT_Session::session()->resourceMgr();
|
SUIT_ResourceMgr* mgr = SUIT_Session::session()->resourceMgr();
|
||||||
if( !mgr )
|
if( !mgr )
|
||||||
@ -2559,6 +2551,16 @@ void SMESH_ActorDef::SetMarkerTexture( int theMarkerId, VTK::MarkerTexture theMa
|
|||||||
myMarkerTexture = theMarkerTexture; // for deferred update of myHighlightActor
|
myMarkerTexture = theMarkerTexture; // for deferred update of myHighlightActor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SMESH_ActorDef::SetRelativeTopologyOffsetParameters(double f, double u,
|
||||||
|
double f_delta, double u_delta)
|
||||||
|
{
|
||||||
|
my2DActor->SetPolygonOffsetParameters(f,u + u_delta);
|
||||||
|
my2DExtActor->SetPolygonOffsetParameters(f,u*0.5 + u_delta);
|
||||||
|
my3DActor->SetPolygonOffsetParameters(f,u*2 + u_delta);
|
||||||
|
myHighlitableActor->GetMapper()->SetRelativeCoincidentTopologyLineOffsetParameters(-f + f_delta,
|
||||||
|
u*(-50) + 10*u_delta);
|
||||||
|
}
|
||||||
|
|
||||||
void SMESH_ActorDef::UpdateFilter()
|
void SMESH_ActorDef::UpdateFilter()
|
||||||
{
|
{
|
||||||
unsigned int anObjectEntities = eAllEntity; // entities present in my object
|
unsigned int anObjectEntities = eAllEntity; // entities present in my object
|
||||||
|
@ -176,6 +176,9 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
|
|||||||
|
|
||||||
virtual void UpdateFilter() = 0;
|
virtual void UpdateFilter() = 0;
|
||||||
|
|
||||||
|
virtual void SetRelativeTopologyOffsetParameters(double f, double u,
|
||||||
|
double f_delta = 0, double u_delta = 0) = 0;
|
||||||
|
|
||||||
#ifndef DISABLE_PLOT2DVIEWER
|
#ifndef DISABLE_PLOT2DVIEWER
|
||||||
virtual SPlot2d_Histogram* GetPlot2Histogram() = 0;
|
virtual SPlot2d_Histogram* GetPlot2Histogram() = 0;
|
||||||
virtual SPlot2d_Histogram* UpdatePlot2Histogram() = 0;
|
virtual SPlot2d_Histogram* UpdatePlot2Histogram() = 0;
|
||||||
|
@ -239,6 +239,9 @@ class SMESH_ActorDef : public SMESH_Actor
|
|||||||
virtual void SetMarkerStd( VTK::MarkerType, VTK::MarkerScale );
|
virtual void SetMarkerStd( VTK::MarkerType, VTK::MarkerScale );
|
||||||
virtual void SetMarkerTexture( int, VTK::MarkerTexture );
|
virtual void SetMarkerTexture( int, VTK::MarkerTexture );
|
||||||
|
|
||||||
|
virtual void SetRelativeTopologyOffsetParameters(double f, double u,
|
||||||
|
double f_delta = 0, double u_delta = 0);
|
||||||
|
|
||||||
virtual void UpdateFilter();
|
virtual void UpdateFilter();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -676,6 +676,7 @@ namespace SMESH
|
|||||||
anActor->SetVolumeColor( aColor.R, aColor.G, aColor.B, deltaV );
|
anActor->SetVolumeColor( aColor.R, aColor.G, aColor.B, deltaV );
|
||||||
else
|
else
|
||||||
anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B, deltaF );
|
anActor->SetSufaceColor( aColor.R, aColor.G, aColor.B, deltaF );
|
||||||
|
anActor->SetRelativeTopologyOffsetParameters(2, 2, 1, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user