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>
<li><b>Color of isolines</b> - allows to select default color for
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>Deflection coefficient</b> - allows to define default deflection
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() {
return myTopLevelDm != TopShowAdditionalWActor;
return myTopLevelDm != TopShowAdditionalWActor;
}
Standard_Boolean GEOM_AISShape::toActivate() {
return Standard_True;
return ( myTopLevel && myTopLevelDm == TopShowAdditionalWActor ) ? false : true;
}
void GEOM_AISShape::setFieldStepInfo( const GEOM::field_data_type theFieldDataType,

View File

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