0021671: EDF 1829 GEOM : Bring to front selected objects (continuation)

- solved a problem with selection and pre-selection object in the "additional wireframe actor" mode;
- added GEOM documentation
This commit is contained in:
mpa 2014-09-11 11:02:20 +04:00
parent 0f781d0d92
commit 04e80ddd75
3 changed files with 47 additions and 26 deletions

View File

@ -33,6 +33,20 @@ default color for edges, vectors and wires (isolated lines).</li>
vertices.</li> vertices.</li>
<li><b>Color of isolines</b> - allows to select default color for <li><b>Color of isolines</b> - allows to select default color for
isolines.</li> isolines.</li>
<li><b>Top level color</b> - allows to select default color for objects which
were brought to the viewer foreground.</li>
<li><b>Top level display mode</b> - allows to select default top level display mode between:</li>
<ul>
<li><b>Show additional wireframe actor</b> - allows to have the shading actor at its usual
place (in the back) and add the additional wireframe actor in the viewer foreground.</li>
<li><b>Keep current display mode</b> - allows to use current display mode of object.</li>
<li><b>Wireframe</b> - allows to switch display mode to wireframe mode after
"top-level" operation.</li>
<li><b>Shading</b> - allows to switch display mode to shading mode after
"top-level" operation.</li>
<li><b>Shading With Edges</b> - allows to switch display mode to shading with edges mode after
"top-level" operation.</li>
</ul>
<li><b>Transparency</b> - allows to define default transparency value.</li> <li><b>Transparency</b> - allows to define default transparency value.</li>
<li><b>Deflection coefficient</b> - allows to define default deflection <li><b>Deflection coefficient</b> - allows to define default deflection
coefficient for lines and surfaces. A smaller coefficient provides coefficient for lines and surfaces. A smaller coefficient provides

View File

@ -457,11 +457,11 @@ void GEOM_AISShape::setTopLevelDisplayMode(const GEOM_AISShape::TopLevelDispMode
} }
Standard_Boolean GEOM_AISShape::switchTopLevel() { Standard_Boolean GEOM_AISShape::switchTopLevel() {
return myTopLevelDm != TopShowAdditionalWActor; return myTopLevelDm != TopShowAdditionalWActor;
} }
Standard_Boolean GEOM_AISShape::toActivate() { Standard_Boolean GEOM_AISShape::toActivate() {
return Standard_True; return ( myTopLevel && myTopLevelDm == TopShowAdditionalWActor ) ? false : true;
} }
void GEOM_AISShape::setFieldStepInfo( const GEOM::field_data_type theFieldDataType, void GEOM_AISShape::setFieldStepInfo( const GEOM::field_data_type theFieldDataType,

View File

@ -43,64 +43,71 @@
#include <TopoDS_Shape.hxx> #include <TopoDS_Shape.hxx>
#include <Prs3d_IsoAspect.hxx> #include <Prs3d_IsoAspect.hxx>
GEOM_TopWireframeShape::GEOM_TopWireframeShape(const TopoDS_Shape& shape) GEOM_TopWireframeShape::GEOM_TopWireframeShape( const TopoDS_Shape& shape )
: SALOME_AISShape(shape) :SALOME_AISShape(shape)
{ {
SetDisplayMode(AIS_WireFrame); SetDisplayMode( AIS_WireFrame );
Handle(Prs3d_IsoAspect) anAspect = Attributes()->UIsoAspect(); Handle(Prs3d_IsoAspect) anAspect = Attributes()->UIsoAspect();
anAspect->SetNumber( 0 ); anAspect->SetNumber( 0 );
Attributes()->SetUIsoAspect( anAspect ); Attributes()->SetUIsoAspect( anAspect );
anAspect = Attributes()->VIsoAspect(); anAspect = Attributes()->VIsoAspect();
anAspect->SetNumber( 0 ); anAspect->SetNumber( 0 );
Attributes()->SetVIsoAspect( anAspect ); Attributes()->SetVIsoAspect( anAspect );
SetColor(GEOM_AISShape::topLevelColor()); SetColor( GEOM_AISShape::topLevelColor() );
} }
GEOM_TopWireframeShape::~GEOM_TopWireframeShape() GEOM_TopWireframeShape::~GEOM_TopWireframeShape()
{ {
} }
Handle(SALOME_InteractiveObject) GEOM_TopWireframeShape::getIO(){ Handle(SALOME_InteractiveObject) GEOM_TopWireframeShape::getIO()
{
Handle(SALOME_InteractiveObject) IO; Handle(SALOME_InteractiveObject) IO;
if ( !GetOwner().IsNull() ) if ( !GetOwner().IsNull() )
IO = Handle(SALOME_InteractiveObject)::DownCast( GetOwner() ); IO = Handle(SALOME_InteractiveObject)::DownCast( GetOwner() );
return IO; return IO;
} }
Standard_Boolean GEOM_TopWireframeShape::hasIO(){ Standard_Boolean GEOM_TopWireframeShape::hasIO()
{
return !getIO().IsNull(); return !getIO().IsNull();
} }
void GEOM_TopWireframeShape::setName(const Standard_CString /*aName*/) void GEOM_TopWireframeShape::setName( const Standard_CString /*aName*/ )
{ {
} }
Standard_CString GEOM_TopWireframeShape::getName(){ Standard_CString GEOM_TopWireframeShape::getName()
{
return ""; return "";
} }
void GEOM_TopWireframeShape::highlightSubShapes(const TColStd_IndexedMapOfInteger& /*aIndexMap*/, void GEOM_TopWireframeShape::highlightSubShapes( const TColStd_IndexedMapOfInteger& /*aIndexMap*/,
const Standard_Boolean /*aHighlight*/ ) const Standard_Boolean /*aHighlight*/ )
{ {
} }
Standard_Boolean GEOM_TopWireframeShape::isTopLevel() { Standard_Boolean GEOM_TopWireframeShape::isTopLevel()
{
return Standard_True; return Standard_True;
} }
void GEOM_TopWireframeShape::setTopLevel(Standard_Boolean /*f*/) { void GEOM_TopWireframeShape::setTopLevel( Standard_Boolean /*f*/ )
{
} }
Standard_Boolean GEOM_TopWireframeShape::toActivate() { Standard_Boolean GEOM_TopWireframeShape::toActivate()
return Standard_False; {
return Standard_True;
} }
Standard_Boolean GEOM_TopWireframeShape::switchTopLevel() { Standard_Boolean GEOM_TopWireframeShape::switchTopLevel()
return Standard_True; {
return Standard_True;
} }
void GEOM_TopWireframeShape::setIO(const Handle(SALOME_InteractiveObject)& io){ void GEOM_TopWireframeShape::setIO( const Handle(SALOME_InteractiveObject)& io )
{
SetOwner( io ); SetOwner( io );
} }