Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
AIS_Drawer Class Reference

A framework to manage display attributes of interactive objects.
An interactive object can have a certain number of
display attributes specific to it. These include
visualization mode, color, material
and so on. To deal with this information, the
interactive context has a Drawer attribute manager
which is valid by default for the objects it
controls. When an interactive object is visualized, the
required graphic display attributes are first taken from
its own Drawer if it has the ones required, or from the
context drawer for those it does not have them.
The set of display attributes of an interactive object is
stocked in an AIS_Drawer, which is, in fact, a
Prs3d_Drawer with the possibility of a link to another
display attribute manager. This drawer then manages
the stocked graphic display attributes by specifying
how the presentation algorithms compute the
presentation of a specific kind of object. These
factors involved include color, width and type of line,
and maximal chordal deviation. The Drawer includes
instances of the aspect classes providing the default
values for them.
Prs3d_Drawer completes AIS_Drawer by adding
functions for setting deviation angle and deviation
coefficient in presentations using hidden line removal.
More...

#include <AIS_Drawer.hxx>

Inheritance diagram for AIS_Drawer:
Inheritance graph
[legend]

Public Member Functions

 AIS_Drawer ()
 Constructs an empty attribute management framework.
More...
 
Aspect_TypeOfDeflection TypeOfDeflection () const
 Returns the type of chordal deflection: relative to the
size of the object or absolute.
More...
 
Quantity_Length MaximalChordialDeviation () const
 
 Returns the maximal chordal deviation. The default <br>

value is 0.1. Drawings of curves or patches are
made with respect to an absolute maximal chordal deviation.
More...

 
void SetDeviationCoefficient ()
 Sets the hasOwnDeviationCoefficient flag to Standard_False
More...
 
void SetHLRDeviationCoefficient ()
 
 Sets the deviation coefficient aCoefficient for <br>

removal of hidden lines created by different
viewpoints in different presentations. The Default value is 0.02.
More...

 
void SetDeviationAngle ()
 Sets the hasOwnDeviationAngle flag to Standard_False
More...
 
void SetHLRAngle ()
 
 Sets the angle of maximum chordal deviation for <br>

removal of hidden lines created by different viewpoints
in different presentations. The default value is 20*PI/180.
More...

 
void SetDeviationCoefficient (const Standard_Real aCoefficient)
 Sets the hasOwnDeviationCoefficient flag to Standard_True,
sets myOwnDeviationCoefficient and myPreviousDeviationCoefficient
More...
 
void SetHLRDeviationCoefficient (const Standard_Real aCoefficient)
 Sets the hasOwnHLRDeviationCoefficient flag to Standard_True,
sets myOwnHLRDeviationCoefficient and myPreviousHLRDeviationCoefficient
More...
 
virtual void SetDeviationAngle (const Standard_Real anAngle)
 Sets the hasOwnDeviationAngle flag to Standard_True,
sets myOwnDeviationAngle and myPreviousDeviationAngle
More...
 
void SetHLRAngle (const Standard_Real anAngle)
 Sets the hasOwnHLRDeviationAngle flag to Standard_True,
sets myOwnHLRDeviationAngle and myPreviousHLRDeviationAngle
More...
 
virtual void SetTypeOfHLR (const Prs3d_TypeOfHLR theTypeOfHLR)
 Sets the type of HLR algorithm
used by drawer's interactive objects
More...
 
virtual Prs3d_TypeOfHLR TypeOfHLR () const
 Returns the type of HLR algorithm currently in use.
More...
 
Standard_Real DeviationCoefficient () const
 
 Drawings of curves or patches are made with respect <br>

to a maximal chordal deviation. A Deviation coefficient
is used in the shading display mode. The shape is
seen decomposed into triangles. These are used to
calculate reflection of light from the surface of the
object. The triangles are formed from chords of the
curves in the shape. The deviation coefficient gives
the highest value of the angle with which a chord can
deviate from a tangent to a curve. If this limit is
reached, a new triangle is begun.
This deviation is absolute and is set through the
method: SetMaximalChordialDeviation. The default value is 0.001.
In drawing shapes, however, you are allowed to ask
for a relative deviation. This deviation will be:
SizeOfObject * DeviationCoefficient.
More...

 
Standard_Real HLRDeviationCoefficient () const
 
 Returns the real number value of the HLR deviation <br>

coefficient in this framework, if the flag
hasOwnHLRDeviationCoefficient is true.
If hasOwnHLRDeviationCoefficient is false, the
shape's HLR deviation coefficient is used.
A Deviation coefficient is used in the shading display
mode. The shape is seen decomposed into triangles.
These are used to calculate reflection of light from the
surface of the object.
The triangles are formed from chords of the curves in
the shape. The deviation coefficient give the highest
value of the angle with which a chord can deviate
from a tangent to a curve. If this limit is reached, a
new triangle is begun.
To find the hidden lines, hidden line display mode
entails recalculation of the view at each different
projector perspective.
Since hidden lines entail calculations of more than
usual complexity to decompose them into these
triangles, a deviation coefficient allowing greater
tolerance is used. This increases efficiency in calculation.
The Default value is 0.02.
More...

 
virtual Standard_Real DeviationAngle () const
 Returns myOwnDeviationAngle if hasOwnDeviationAngle is True
else gets myDeviationAngle field from Prs3d_Drawer
More...
 
Standard_Real HLRAngle () const
 
 Returns the real number value of the deviation angle <br>

in hidden line removal views. The default value is 20*PI/180.
More...

 
Standard_Real PreviousDeviationCoefficient () const
 
 Saves the previous value used for the chordal <br>

deviation coefficient. The default value is 0.1.
More...

 
Standard_Real PreviousHLRDeviationCoefficient () const
 returns myPreviousHLRDeviationCoefficient
More...
 
Standard_Real PreviousDeviationAngle () const
 returns myPreviousDeviationAngle
More...
 
Standard_Real PreviousHLRDeviationAngle () const
 returns myPreviousHLRDeviationAngle
More...
 
Standard_Boolean IsOwnDeviationCoefficient () const
 
 Returns true if the there is a local setting for deviation <br>

coefficient in this framework for a specific interactive object.
More...

 
Standard_Boolean IsOwnHLRDeviationCoefficient () const
 
 Returns true if the there is a setting for HLR deviation <br>

coefficient in this framework for a specific interactive object.
More...

 
Standard_Boolean IsOwnDeviationAngle () const
 
 Returns true if the there is a local setting for deviation <br>

angle in this framework for a specific interactive object.
More...

 
Standard_Boolean IsOwnHLRDeviationAngle () const
 
 Returns true if the there is a setting for HLR deviation <br>

angle in this framework for a specific interactive object.
More...

 
Standard_Integer Discretisation () const
 
 Draws algorithms using discretisation, a default <br>

number of points has been set to 17. You can use the
method Prs3d_Drawer_SetDiscretisation to change this value.
More...

 
Standard_Real MaximalParameterValue () const
 Sets the maximum value allowed for the first and last
parameters of an infinite curve. By default, this value is 500000.
More...
 
Standard_Boolean IsoOnPlane () const
 returns True if the drawing of isos on planes is enabled.
More...
 
Handle_Prs3d_IsoAspect UIsoAspect ()
 
 Defines the attributes which are used when drawing an <br>
     U isoparametric curve of a face. Defines the number <br>
     of U isoparametric curves to be drawn for a single face. <br>
     The LineAspect for U isoparametric lines can be edited <br>
     (methods SetColor, SetTypeOfLine, SetWidth, SetNumber) <br>
     The default values are: <br>
     COLOR       : Quantity_NOC_GRAY75 <br>
     TYPE OF LINE: Aspect_TOL_SOLID <br>
     WIDTH       : 0.5 <br>

These attributes are used by the following algorithms:
Prs3d_WFDeflectionSurface
Prs3d_WFDeflectionRestrictedFace
More...

 
Handle_Prs3d_IsoAspect VIsoAspect ()
 Defines the attributes which are used when drawing an
V isoparametric curve of a face. Defines the number
of V isoparametric curves to be drawn for a single face.
The LineAspect for V isoparametric lines can be edited
(methods SetColor, SetTypeOfLine, SetWidth, SetNumber)
The default values are:
COLOR : Quantity_NOC_GRAY82
TYPE OF LINE: Aspect_TOL_SOLID
WIDTH : 0.5
These attributes are used by the following algorithms:
Prs3d_WFDeflectionSurface
Prs3d_WFDeflectionRestrictedFace
More...
 
Handle_Prs3d_LineAspect FreeBoundaryAspect ()
 
 Returns a link with <br>

Prs3d_Drawer_FreeBoundaryAspect. Stores the
values for presentation of free boundaries, in other
words, boundaries which are not shared . The
LineAspect for the free boundaries can be edited. The
default values are: Color: Quantity_NOC_GREEN
Type of line: Aspect_TOL_SOLID Width: 1.
These attributes are used by Prs3d_WFShape.
More...

 
Standard_Boolean FreeBoundaryDraw () const
 returns True if the drawing of the free boundaries is enabled.
More...
 
Handle_Prs3d_LineAspect WireAspect ()
 
 Returns a link with Prs3d_Drawer_WireAspect. <br>

This method provides wire aspect settings.
The LineAspect for wires can be edited. The default values are:
Color: Quantity_NOC_RED
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_WFShape
More...

 
Standard_Boolean HasLineAspect () const
 
 Returns true if the Interactive Object has a line <br>

visualization aspect.
More...

 
Standard_Boolean HasWireAspect () const
 Returns true if the Drawer has a wire aspect setting active.
More...
 
Standard_Boolean WireDraw () const
 
 Returns a link   with Prs3d_Drawer_WireDraw. This <br>

method returns true if drawing of wires is enabled.
The default setting is true.
More...

 
Handle_Prs3d_LineAspect UnFreeBoundaryAspect ()
 
 Returns a link with <br>

Prs3d_Drawer_UnFreeBoundaryAspect, which
provides settings for shared boundary line aspects.
The LineAspect for shared boundaries can be edited.
The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_WFShape
More...

 
Standard_Boolean UnFreeBoundaryDraw () const
 
 Returns True if the drawing of the shared boundaries <br>

is enabled. True is the default setting.
More...

 
Handle_Prs3d_LineAspect LineAspect ()
 
  Returns a link with Prs3d_Drawer_LineAspect, <br>

which provides settings for line aspects. These
settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_Curve
Prs3d_Line
Prs3d_HLRShape
More...

 
Standard_Boolean HasTextAspect () const
 
Handle_Prs3d_TextAspect TextAspect ()
 
 Returns settings for text aspect. <br>

These settings can be edited. The default value is:
More...

 
Standard_Boolean LineArrowDraw () const
 
 Returns True if the drawing of an arrow at the end of <br>

each line is enabled. The default setting is False.
More...

 
Handle_Prs3d_ArrowAspect ArrowAspect ()
 Returns the attributes for display of arrows.
More...
 
Handle_Prs3d_PointAspect PointAspect ()
 
  Returns the point aspect setting. The default values <br>

are: Color: Quantity_NOC_YELLOW
Type of marker: Aspect_TOM_PLUS
Scale: 1.
These attributes are used by the following algorithms:
Prs3d_Point
More...

 
Standard_Boolean HasPointAspect () const
 Returns true if the Drawer has a point aspect setting active.
More...
 
Handle_Prs3d_ShadingAspect ShadingAspect ()
 Returns a link with Prs3d_Drawer_ShadingAspect,
which provides settings for shading aspects.
These settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Material: Graphic3d_NOM_BRASS
hading aspect is obtained through decomposition of
3D faces into triangles, each side of each triangle
being a chord of the corresponding curved edge in
the face. Reflection of light in each projector
perspective is then calculated for each of the
resultant triangular planes.
More...
 
Standard_Boolean HasShadingAspect () const
 Returns True if the Drawer has shading aspect active.
More...
 
Standard_Boolean ShadingAspectGlobal () const
 Provides the attributes for hidden line removal.
More...
 
Standard_Boolean DrawHiddenLine () const
 Returns Standard_True if the hidden lines are to be drawn.
By default the hidden lines are not drawn.
More...
 
Handle_Prs3d_LineAspect HiddenLineAspect ()
 
 Returns a link with <br>

Prs3d_Drawer_HiddenLineAspect, which provides
settings for hidden line aspects.
These settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_DASH
Width: 1.
More...

 
Handle_Prs3d_LineAspect SeenLineAspect ()
 
 Returns a link with <br>

Prs3d_Drawer_SeenLineAspect, which provides
settings for seen line aspects.
These settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_SOLID
Width: 1.
More...

 
Standard_Boolean HasPlaneAspect () const
 
Handle_Prs3d_PlaneAspect PlaneAspect ()
 Returns a link with Prs3d_Drawer_PlaneAspect.
This method provides settings for the appearance of planes.
More...
 
Handle_Prs3d_LineAspect VectorAspect ()
 
 Returns a link with Prs3d_Drawer_VectorAspect, <br>

which provides settings for the appearance of vectors.
These settings can be edited. The default values are:
Color: Quantity_NOC_SKYBLUE
Type of line: Aspect_TOL_SOLID Width: 1.
More...

 
void SetFaceBoundaryDraw (const Standard_Boolean theIsEnabled)
 
 Enables or disables drawing of face boundaries for shading presentations. <br>

The method sets drawing flag owned by the drawer that will be used during
visualization instead of the one set in link.
theIsEnabled is a boolean flag indicating whether the face boundaries should be
drawn or not.
More...

 
Standard_Boolean IsFaceBoundaryDraw () const
 Checks whether the drawing of face boundaries is enabled or not.
More...
 
void SetFaceBoundaryAspect (const Handle< Prs3d_LineAspect > &theAspect)
 
 Sets line aspect for face boundaries. <br>

The method sets line aspect owned by the drawer that will be used during
visualization instead of the one set in link.
theAspect is the line aspect that determines the look of the face boundaries.
More...

 
Handle_Prs3d_LineAspect FaceBoundaryAspect ()
 Returns line aspect of face boundaries.
More...
 
Standard_Boolean IsOwnFaceBoundaryDraw () const
 
 Returns true if the drawer has its own attribute for <br>

"draw face boundaries" flag that overrides the one in the link.
More...

 
Standard_Boolean IsOwnFaceBoundaryAspect () const
 
 Returns true if the drawer has its own attribute for <br>

face boundaries aspect that overrides the one in the link.
More...

 
Standard_Boolean HasDatumAspect () const
 
Handle_Prs3d_DatumAspect DatumAspect ()
 
 Returns a link with Prs3d_Drawer_DatumAspect, <br>

which provides settings for the appearance of datums.
These settings can be edited. The default values for
the three axes are:
Color: Quantity_NOC_PEACHPUFF
Type of line: Aspect_TOL_SOLID Width: 1.
More...

 
Handle_Prs3d_DimensionAspect DimensionAspect ()
 
 Returns a link with Prs3d_Drawer_DimensionAspect, <br>

which provides settings for the appearance of dimensions.
More...

 
Standard_Boolean HasDimensionAspect () const
 
void SetDimLengthModelUnits (const TCollection_AsciiString &theUnits)
 Sets dimension length model units for computing of dimension presentation.
More...
 
void SetDimAngleModelUnits (const TCollection_AsciiString &theUnits)
 Sets dimension angle model units for computing of dimension presentation.
More...
 
const TCollection_AsciiStringDimAngleModelUnits () const
 Returns angle model units for the dimension presentation.
More...
 
const TCollection_AsciiStringDimLengthModelUnits () const
 Returns length model units for the dimension presentation.
More...
 
void SetDimLengthDisplayUnits (const TCollection_AsciiString &theUnits)
 Sets length units in which value for dimension presentation is displayed.
More...
 
void SetDimAngleDisplayUnits (const TCollection_AsciiString &theUnits)
 Sets angle units in which value for dimension presentation is displayed.
More...
 
const TCollection_AsciiStringDimLengthDisplayUnits () const
 Returns length units in which dimension presentation is displayed.
More...
 
const TCollection_AsciiStringDimAngleDisplayUnits () const
 Returns angle units in which dimension presentation is displayed.
More...
 
Handle_Prs3d_LineAspect SectionAspect ()
 
 Returns a link with Prs3d_Drawer_SectionAspect, <br>

which provides settings for wires which highlight sections.
The LineAspect for the wire can be edited.
The default values are:
Color: Quantity_NOC_ORANGE
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_WFShape
More...

 
const Handle_Prs3d_Drawer & Link ()
 
Standard_Boolean HasLink () const
 
void Link (const Handle< Prs3d_Drawer > &aDrawer)
 
virtual void ClearLocalAttributes ()
 Removes attributes stored in a Local Context.
More...
 
Standard_Boolean WasLastLocal () const
 Returns true if the last called attribute was local; false if it was global.
More...
 
Standard_Boolean HasLocalAttributes () const
 Returns true if a Local Context has stored attributes
for Interactive Objects.
More...
 
- Public Member Functions inherited from Prs3d_Drawer
 Prs3d_Drawer ()
 
virtual void SetTypeOfDeflection (const Aspect_TypeOfDeflection aTypeOfDeflection)
 
 Sets the type of chordal deflection. <br>

This indicates whether the deflection value is absolute
or relative to the size of the object.
More...

 
virtual void SetMaximalChordialDeviation (const Quantity_Length aChordialDeviation)
 
 Defines the maximal chordial deviation when drawing any curve; <br>
     Even if the type of deviation is set to TOD_Relative, <br>
     this value is used by: <br>


Prs3d_DeflectionCurve
Prs3d_WFDeflectionSurface
Prs3d_WFDeflectionRestrictedFace
More...

 
virtual void SetDiscretisation (const Standard_Integer d)
 Sets the discretisation parameter d.
More...
 
virtual void SetMaximalParameterValue (const Standard_Real Value)
 defines the maximum value allowed for the first and last
parameters of an infinite curve. Default value: 500.
More...
 
virtual void SetIsoOnPlane (const Standard_Boolean OnOff)
 
 Sets IsoOnPlane on or off   by setting the parameter <br>

OnOff to true or false.
More...

 
virtual void SetUIsoAspect (const Handle< Prs3d_IsoAspect > &anAspect)
 
virtual void SetVIsoAspect (const Handle< Prs3d_IsoAspect > &anAspect)
 Sets the appearance of V isoparameters - anAspect.
More...
 
virtual void SetFreeBoundaryAspect (const Handle< Prs3d_LineAspect > &anAspect)
 Sets the parameter anAspect for the display of free boundaries.
More...
 
virtual void SetFreeBoundaryDraw (const Standard_Boolean OnOff)
 
 Sets free boundary drawing on or off by setting the <br>

parameter OnOff to true or false.
More...

 
virtual void SetWireAspect (const Handle< Prs3d_LineAspect > &anAspect)
 Sets the parameter anAspect for display of wires.
More...
 
virtual void SetWireDraw (const Standard_Boolean OnOff)
 
 Sets WireDraw on or off   by setting the parameter <br>

OnOff to true or false.
More...

 
virtual void SetUnFreeBoundaryAspect (const Handle< Prs3d_LineAspect > &anAspect)
 Sets the parameter anAspect for the display of shared boundaries.
More...
 
virtual void SetUnFreeBoundaryDraw (const Standard_Boolean OnOff)
 
 Sets FreeBoundaryDraw on or off by setting the <br>

parameter OnOff to true or false.
By default the unfree boundaries are drawn.
More...

 
virtual void SetLineAspect (const Handle< Prs3d_LineAspect > &anAspect)
 Sets the parameter anAspect for display attributes of lines.
More...
 
virtual void SetTextAspect (const Handle< Prs3d_TextAspect > &anAspect)
 Sets the parameter anAspect for display attributes of text.
More...
 
virtual void SetLineArrowDraw (const Standard_Boolean OnOff)
 enables the drawing of an arrow at the end of each line.
By default the arrows are not drawn.
More...
 
virtual void SetArrowAspect (const Handle< Prs3d_ArrowAspect > &anAspect)
 Sets the parameter anAspect for display attributes of arrows.
More...
 
virtual void SetPointAspect (const Handle< Prs3d_PointAspect > &anAspect)
 Sets the parameter anAspect for display attributes of points
More...
 
virtual void SetShadingAspect (const Handle< Prs3d_ShadingAspect > &anAspect)
 Sets the parameter anAspect for display attributes of shading.
More...
 
virtual void SetShadingAspectGlobal (const Standard_Boolean aValue)
 indicates that the ShadingAspect will be apply
to the whole presentation. This allows to modify
the aspect without recomputing the content of the presentation.
More...
 
virtual void EnableDrawHiddenLine ()
 Enables the DrawHiddenLine function.
More...
 
virtual void DisableDrawHiddenLine ()
 Disables the DrawHiddenLine function.
More...
 
virtual void SetHiddenLineAspect (const Handle< Prs3d_LineAspect > &anAspect)
 
 Sets the parameter anAspect for the display of <br>

hidden lines in hidden line removal mode.
More...

 
virtual void SetSeenLineAspect (const Handle< Prs3d_LineAspect > &anAspect)
 
 Sets the parameter anAspect for the display of seen <br>

lines in hidden line removal mode.
More...

 
virtual void SetPlaneAspect (const Handle< Prs3d_PlaneAspect > &anAspect)
 Sets the parameter anAspect for the display of planes.
More...
 
virtual void SetVectorAspect (const Handle< Prs3d_LineAspect > &anAspect)
 Sets the modality anAspect for the display of vectors.
More...
 
virtual void SetDatumAspect (const Handle< Prs3d_DatumAspect > &anAspect)
 Sets the modality anAspect for the display of datums.
More...
 
virtual void SetDimensionAspect (const Handle< Prs3d_DimensionAspect > &theAspect)
 Sets the settings for the appearance of dimensions.
More...
 
virtual void SetSectionAspect (const Handle< Prs3d_LineAspect > &theAspect)
 Sets the parameter theAspect for display attributes of sections.
More...
 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const Handle_Standard_Type &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const Handle_Standard_Type &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Additional Inherited Members

- Protected Attributes inherited from Prs3d_Drawer
Handle_Prs3d_IsoAspect myUIsoAspect
 
Handle_Prs3d_IsoAspect myVIsoAspect
 
Standard_Integer myNbPoints
 
Standard_Boolean myIsoOnPlane
 
Handle_Prs3d_LineAspect myFreeBoundaryAspect
 
Standard_Boolean myFreeBoundaryDraw
 
Handle_Prs3d_LineAspect myUnFreeBoundaryAspect
 
Standard_Boolean myUnFreeBoundaryDraw
 
Handle_Prs3d_LineAspect myWireAspect
 
Standard_Boolean myWireDraw
 
Handle_Prs3d_LineAspect myLineAspect
 
Handle_Prs3d_TextAspect myTextAspect
 
Handle_Prs3d_ShadingAspect myShadingAspect
 
Standard_Boolean myShadingAspectGlobal
 
Quantity_Length myChordialDeviation
 
Aspect_TypeOfDeflection myTypeOfDeflection
 
Standard_Real myMaximalParameterValue
 
Standard_Real myDeviationCoefficient
 
Standard_Real myHLRDeviationCoefficient
 
Standard_Real myDeviationAngle
 
Standard_Real myHLRAngle
 
Handle_Prs3d_PointAspect myPointAspect
 
Handle_Prs3d_PlaneAspect myPlaneAspect
 
Handle_Prs3d_ArrowAspect myArrowAspect
 
Standard_Boolean myLineDrawArrow
 
Standard_Boolean myDrawHiddenLine
 
Handle_Prs3d_LineAspect myHiddenLineAspect
 
Handle_Prs3d_LineAspect mySeenLineAspect
 
Handle_Prs3d_LineAspect myVectorAspect
 
Handle_Prs3d_DatumAspect myDatumAspect
 
Standard_Real myDatumScale
 
Handle_Prs3d_DimensionAspect myDimensionAspect
 
Prs3d_DimensionUnits myDimensionModelUnits
 
Prs3d_DimensionUnits myDimensionDisplayUnits
 
Handle_Prs3d_LineAspect mySectionAspect
 
Standard_Boolean myFaceBoundaryDraw
 
Handle_Prs3d_LineAspect myFaceBoundaryAspect
 
Prs3d_TypeOfHLR myTypeOfHLR
 

Detailed Description

A framework to manage display attributes of interactive objects.
An interactive object can have a certain number of
display attributes specific to it. These include
visualization mode, color, material
and so on. To deal with this information, the
interactive context has a Drawer attribute manager
which is valid by default for the objects it
controls. When an interactive object is visualized, the
required graphic display attributes are first taken from
its own Drawer if it has the ones required, or from the
context drawer for those it does not have them.
The set of display attributes of an interactive object is
stocked in an AIS_Drawer, which is, in fact, a
Prs3d_Drawer with the possibility of a link to another
display attribute manager. This drawer then manages
the stocked graphic display attributes by specifying
how the presentation algorithms compute the
presentation of a specific kind of object. These
factors involved include color, width and type of line,
and maximal chordal deviation. The Drawer includes
instances of the aspect classes providing the default
values for them.
Prs3d_Drawer completes AIS_Drawer by adding
functions for setting deviation angle and deviation
coefficient in presentations using hidden line removal.

Constructor & Destructor Documentation

AIS_Drawer::AIS_Drawer ( )

Constructs an empty attribute management framework.

Member Function Documentation

Handle_Prs3d_ArrowAspect AIS_Drawer::ArrowAspect ( )
virtual

Returns the attributes for display of arrows.

Reimplemented from Prs3d_Drawer.

virtual void AIS_Drawer::ClearLocalAttributes ( )
virtual

Removes attributes stored in a Local Context.

Handle_Prs3d_DatumAspect AIS_Drawer::DatumAspect ( )
virtual

 Returns a link with Prs3d_Drawer_DatumAspect, <br>

which provides settings for the appearance of datums.
These settings can be edited. The default values for
the three axes are:
Color: Quantity_NOC_PEACHPUFF
Type of line: Aspect_TOL_SOLID Width: 1.

Reimplemented from Prs3d_Drawer.

virtual Standard_Real AIS_Drawer::DeviationAngle ( ) const
virtual

Returns myOwnDeviationAngle if hasOwnDeviationAngle is True
else gets myDeviationAngle field from Prs3d_Drawer

Reimplemented from Prs3d_Drawer.

Standard_Real AIS_Drawer::DeviationCoefficient ( ) const
virtual

 Drawings of curves or patches are made with respect <br>

to a maximal chordal deviation. A Deviation coefficient
is used in the shading display mode. The shape is
seen decomposed into triangles. These are used to
calculate reflection of light from the surface of the
object. The triangles are formed from chords of the
curves in the shape. The deviation coefficient gives
the highest value of the angle with which a chord can
deviate from a tangent to a curve. If this limit is
reached, a new triangle is begun.
This deviation is absolute and is set through the
method: SetMaximalChordialDeviation. The default value is 0.001.
In drawing shapes, however, you are allowed to ask
for a relative deviation. This deviation will be:
SizeOfObject * DeviationCoefficient.

Reimplemented from Prs3d_Drawer.

const TCollection_AsciiString& AIS_Drawer::DimAngleDisplayUnits ( ) const
virtual

Returns angle units in which dimension presentation is displayed.

Reimplemented from Prs3d_Drawer.

const TCollection_AsciiString& AIS_Drawer::DimAngleModelUnits ( ) const
virtual

Returns angle model units for the dimension presentation.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_DimensionAspect AIS_Drawer::DimensionAspect ( )
virtual

 Returns a link with Prs3d_Drawer_DimensionAspect, <br>

which provides settings for the appearance of dimensions.

Reimplemented from Prs3d_Drawer.

const TCollection_AsciiString& AIS_Drawer::DimLengthDisplayUnits ( ) const
virtual

Returns length units in which dimension presentation is displayed.

Reimplemented from Prs3d_Drawer.

const TCollection_AsciiString& AIS_Drawer::DimLengthModelUnits ( ) const
virtual

Returns length model units for the dimension presentation.

Reimplemented from Prs3d_Drawer.

Standard_Integer AIS_Drawer::Discretisation ( ) const
virtual

 Draws algorithms using discretisation, a default <br>

number of points has been set to 17. You can use the
method Prs3d_Drawer_SetDiscretisation to change this value.

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::DrawHiddenLine ( ) const
virtual

Returns Standard_True if the hidden lines are to be drawn.
By default the hidden lines are not drawn.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_LineAspect AIS_Drawer::FaceBoundaryAspect ( )
virtual

Returns line aspect of face boundaries.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_LineAspect AIS_Drawer::FreeBoundaryAspect ( )
virtual

 Returns a link with <br>

Prs3d_Drawer_FreeBoundaryAspect. Stores the
values for presentation of free boundaries, in other
words, boundaries which are not shared . The
LineAspect for the free boundaries can be edited. The
default values are: Color: Quantity_NOC_GREEN
Type of line: Aspect_TOL_SOLID Width: 1.
These attributes are used by Prs3d_WFShape.

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::FreeBoundaryDraw ( ) const
virtual

returns True if the drawing of the free boundaries is enabled.

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::HasDatumAspect ( ) const
Standard_Boolean AIS_Drawer::HasDimensionAspect ( ) const
Standard_Boolean AIS_Drawer::HasLineAspect ( ) const

 Returns true if the Interactive Object has a line <br>

visualization aspect.

Standard_Boolean AIS_Drawer::HasLink ( ) const
Standard_Boolean AIS_Drawer::HasLocalAttributes ( ) const

Returns true if a Local Context has stored attributes
for Interactive Objects.

Standard_Boolean AIS_Drawer::HasPlaneAspect ( ) const
Standard_Boolean AIS_Drawer::HasPointAspect ( ) const

Returns true if the Drawer has a point aspect setting active.

Standard_Boolean AIS_Drawer::HasShadingAspect ( ) const

Returns True if the Drawer has shading aspect active.

Standard_Boolean AIS_Drawer::HasTextAspect ( ) const
Standard_Boolean AIS_Drawer::HasWireAspect ( ) const

Returns true if the Drawer has a wire aspect setting active.

Handle_Prs3d_LineAspect AIS_Drawer::HiddenLineAspect ( )
virtual

 Returns a link with <br>

Prs3d_Drawer_HiddenLineAspect, which provides
settings for hidden line aspects.
These settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_DASH
Width: 1.

Reimplemented from Prs3d_Drawer.

Standard_Real AIS_Drawer::HLRAngle ( ) const
virtual

 Returns the real number value of the deviation angle <br>

in hidden line removal views. The default value is 20*PI/180.

Reimplemented from Prs3d_Drawer.

Standard_Real AIS_Drawer::HLRDeviationCoefficient ( ) const
virtual

 Returns the real number value of the HLR deviation <br>

coefficient in this framework, if the flag
hasOwnHLRDeviationCoefficient is true.
If hasOwnHLRDeviationCoefficient is false, the
shape's HLR deviation coefficient is used.
A Deviation coefficient is used in the shading display
mode. The shape is seen decomposed into triangles.
These are used to calculate reflection of light from the
surface of the object.
The triangles are formed from chords of the curves in
the shape. The deviation coefficient give the highest
value of the angle with which a chord can deviate
from a tangent to a curve. If this limit is reached, a
new triangle is begun.
To find the hidden lines, hidden line display mode
entails recalculation of the view at each different
projector perspective.
Since hidden lines entail calculations of more than
usual complexity to decompose them into these
triangles, a deviation coefficient allowing greater
tolerance is used. This increases efficiency in calculation.
The Default value is 0.02.

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::IsFaceBoundaryDraw ( ) const
virtual

Checks whether the drawing of face boundaries is enabled or not.

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::IsoOnPlane ( ) const
virtual

returns True if the drawing of isos on planes is enabled.

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::IsOwnDeviationAngle ( ) const

 Returns true if the there is a local setting for deviation <br>

angle in this framework for a specific interactive object.

Standard_Boolean AIS_Drawer::IsOwnDeviationCoefficient ( ) const

 Returns true if the there is a local setting for deviation <br>

coefficient in this framework for a specific interactive object.

Standard_Boolean AIS_Drawer::IsOwnFaceBoundaryAspect ( ) const

 Returns true if the drawer has its own attribute for <br>

face boundaries aspect that overrides the one in the link.

Standard_Boolean AIS_Drawer::IsOwnFaceBoundaryDraw ( ) const

 Returns true if the drawer has its own attribute for <br>

"draw face boundaries" flag that overrides the one in the link.

Standard_Boolean AIS_Drawer::IsOwnHLRDeviationAngle ( ) const

 Returns true if the there is a setting for HLR deviation <br>

angle in this framework for a specific interactive object.

Standard_Boolean AIS_Drawer::IsOwnHLRDeviationCoefficient ( ) const

 Returns true if the there is a setting for HLR deviation <br>

coefficient in this framework for a specific interactive object.

Standard_Boolean AIS_Drawer::LineArrowDraw ( ) const
virtual

 Returns True if the drawing of an arrow at the end of <br>

each line is enabled. The default setting is False.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_LineAspect AIS_Drawer::LineAspect ( )
virtual

  Returns a link with Prs3d_Drawer_LineAspect, <br>

which provides settings for line aspects. These
settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_Curve
Prs3d_Line
Prs3d_HLRShape

Reimplemented from Prs3d_Drawer.

const Handle_Prs3d_Drawer& AIS_Drawer::Link ( )
void AIS_Drawer::Link ( const Handle< Prs3d_Drawer > &  aDrawer)
Quantity_Length AIS_Drawer::MaximalChordialDeviation ( ) const
virtual

 Returns the maximal chordal deviation. The default <br>

value is 0.1. Drawings of curves or patches are
made with respect to an absolute maximal chordal deviation.

Reimplemented from Prs3d_Drawer.

Standard_Real AIS_Drawer::MaximalParameterValue ( ) const
virtual

Sets the maximum value allowed for the first and last
parameters of an infinite curve. By default, this value is 500000.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_PlaneAspect AIS_Drawer::PlaneAspect ( )
virtual

Returns a link with Prs3d_Drawer_PlaneAspect.
This method provides settings for the appearance of planes.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_PointAspect AIS_Drawer::PointAspect ( )
virtual

  Returns the point aspect setting. The default values <br>

are: Color: Quantity_NOC_YELLOW
Type of marker: Aspect_TOM_PLUS
Scale: 1.
These attributes are used by the following algorithms:
Prs3d_Point

Reimplemented from Prs3d_Drawer.

Standard_Real AIS_Drawer::PreviousDeviationAngle ( ) const

returns myPreviousDeviationAngle

Standard_Real AIS_Drawer::PreviousDeviationCoefficient ( ) const

 Saves the previous value used for the chordal <br>

deviation coefficient. The default value is 0.1.

Standard_Real AIS_Drawer::PreviousHLRDeviationAngle ( ) const

returns myPreviousHLRDeviationAngle

Standard_Real AIS_Drawer::PreviousHLRDeviationCoefficient ( ) const

returns myPreviousHLRDeviationCoefficient

Handle_Prs3d_LineAspect AIS_Drawer::SectionAspect ( )
virtual

 Returns a link with Prs3d_Drawer_SectionAspect, <br>

which provides settings for wires which highlight sections.
The LineAspect for the wire can be edited.
The default values are:
Color: Quantity_NOC_ORANGE
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_WFShape

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_LineAspect AIS_Drawer::SeenLineAspect ( )
virtual

 Returns a link with <br>

Prs3d_Drawer_SeenLineAspect, which provides
settings for seen line aspects.
These settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_SOLID
Width: 1.

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetDeviationAngle ( )

Sets the hasOwnDeviationAngle flag to Standard_False

virtual void AIS_Drawer::SetDeviationAngle ( const Standard_Real  anAngle)
virtual

Sets the hasOwnDeviationAngle flag to Standard_True,
sets myOwnDeviationAngle and myPreviousDeviationAngle

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetDeviationCoefficient ( )

Sets the hasOwnDeviationCoefficient flag to Standard_False

void AIS_Drawer::SetDeviationCoefficient ( const Standard_Real  aCoefficient)
virtual

Sets the hasOwnDeviationCoefficient flag to Standard_True,
sets myOwnDeviationCoefficient and myPreviousDeviationCoefficient

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetDimAngleDisplayUnits ( const TCollection_AsciiString theUnits)
virtual

Sets angle units in which value for dimension presentation is displayed.

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetDimAngleModelUnits ( const TCollection_AsciiString theUnits)
virtual

Sets dimension angle model units for computing of dimension presentation.

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetDimLengthDisplayUnits ( const TCollection_AsciiString theUnits)
virtual

Sets length units in which value for dimension presentation is displayed.

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetDimLengthModelUnits ( const TCollection_AsciiString theUnits)
virtual

Sets dimension length model units for computing of dimension presentation.

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetFaceBoundaryAspect ( const Handle< Prs3d_LineAspect > &  theAspect)
virtual

 Sets line aspect for face boundaries. <br>

The method sets line aspect owned by the drawer that will be used during
visualization instead of the one set in link.
theAspect is the line aspect that determines the look of the face boundaries.

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetFaceBoundaryDraw ( const Standard_Boolean  theIsEnabled)
virtual

 Enables or disables drawing of face boundaries for shading presentations. <br>

The method sets drawing flag owned by the drawer that will be used during
visualization instead of the one set in link.
theIsEnabled is a boolean flag indicating whether the face boundaries should be
drawn or not.

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetHLRAngle ( )

 Sets the angle of maximum chordal deviation for <br>

removal of hidden lines created by different viewpoints
in different presentations. The default value is 20*PI/180.

void AIS_Drawer::SetHLRAngle ( const Standard_Real  anAngle)
virtual

Sets the hasOwnHLRDeviationAngle flag to Standard_True,
sets myOwnHLRDeviationAngle and myPreviousHLRDeviationAngle

Reimplemented from Prs3d_Drawer.

void AIS_Drawer::SetHLRDeviationCoefficient ( )

 Sets the deviation coefficient aCoefficient for <br>

removal of hidden lines created by different
viewpoints in different presentations. The Default value is 0.02.

void AIS_Drawer::SetHLRDeviationCoefficient ( const Standard_Real  aCoefficient)
virtual

Sets the hasOwnHLRDeviationCoefficient flag to Standard_True,
sets myOwnHLRDeviationCoefficient and myPreviousHLRDeviationCoefficient

Reimplemented from Prs3d_Drawer.

virtual void AIS_Drawer::SetTypeOfHLR ( const Prs3d_TypeOfHLR  theTypeOfHLR)
virtual

Sets the type of HLR algorithm
used by drawer's interactive objects

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_ShadingAspect AIS_Drawer::ShadingAspect ( )
virtual

Returns a link with Prs3d_Drawer_ShadingAspect,
which provides settings for shading aspects.
These settings can be edited. The default values are:
Color: Quantity_NOC_YELLOW
Material: Graphic3d_NOM_BRASS
hading aspect is obtained through decomposition of
3D faces into triangles, each side of each triangle
being a chord of the corresponding curved edge in
the face. Reflection of light in each projector
perspective is then calculated for each of the
resultant triangular planes.

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::ShadingAspectGlobal ( ) const
virtual

Provides the attributes for hidden line removal.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_TextAspect AIS_Drawer::TextAspect ( )
virtual

 Returns settings for text aspect. <br>

These settings can be edited. The default value is:

  • Color: Quantity_NOC_YELLOW

Reimplemented from Prs3d_Drawer.

Aspect_TypeOfDeflection AIS_Drawer::TypeOfDeflection ( ) const
virtual

Returns the type of chordal deflection: relative to the
size of the object or absolute.

Reimplemented from Prs3d_Drawer.

virtual Prs3d_TypeOfHLR AIS_Drawer::TypeOfHLR ( ) const
virtual

Returns the type of HLR algorithm currently in use.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_IsoAspect AIS_Drawer::UIsoAspect ( )
virtual

 Defines the attributes which are used when drawing an <br>
     U isoparametric curve of a face. Defines the number <br>
     of U isoparametric curves to be drawn for a single face. <br>
     The LineAspect for U isoparametric lines can be edited <br>
     (methods SetColor, SetTypeOfLine, SetWidth, SetNumber) <br>
     The default values are: <br>
     COLOR       : Quantity_NOC_GRAY75 <br>
     TYPE OF LINE: Aspect_TOL_SOLID <br>
     WIDTH       : 0.5 <br>

These attributes are used by the following algorithms:
Prs3d_WFDeflectionSurface
Prs3d_WFDeflectionRestrictedFace

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_LineAspect AIS_Drawer::UnFreeBoundaryAspect ( )
virtual

 Returns a link with <br>

Prs3d_Drawer_UnFreeBoundaryAspect, which
provides settings for shared boundary line aspects.
The LineAspect for shared boundaries can be edited.
The default values are:
Color: Quantity_NOC_YELLOW
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_WFShape

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::UnFreeBoundaryDraw ( ) const
virtual

 Returns True if the drawing of the shared boundaries <br>

is enabled. True is the default setting.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_LineAspect AIS_Drawer::VectorAspect ( )
virtual

 Returns a link with Prs3d_Drawer_VectorAspect, <br>

which provides settings for the appearance of vectors.
These settings can be edited. The default values are:
Color: Quantity_NOC_SKYBLUE
Type of line: Aspect_TOL_SOLID Width: 1.

Reimplemented from Prs3d_Drawer.

Handle_Prs3d_IsoAspect AIS_Drawer::VIsoAspect ( )
virtual

Defines the attributes which are used when drawing an
V isoparametric curve of a face. Defines the number
of V isoparametric curves to be drawn for a single face.
The LineAspect for V isoparametric lines can be edited
(methods SetColor, SetTypeOfLine, SetWidth, SetNumber)
The default values are:
COLOR : Quantity_NOC_GRAY82
TYPE OF LINE: Aspect_TOL_SOLID
WIDTH : 0.5
These attributes are used by the following algorithms:
Prs3d_WFDeflectionSurface
Prs3d_WFDeflectionRestrictedFace

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::WasLastLocal ( ) const

Returns true if the last called attribute was local; false if it was global.

Handle_Prs3d_LineAspect AIS_Drawer::WireAspect ( )
virtual

 Returns a link with Prs3d_Drawer_WireAspect. <br>

This method provides wire aspect settings.
The LineAspect for wires can be edited. The default values are:
Color: Quantity_NOC_RED
Type of line: Aspect_TOL_SOLID
Width: 1.
These attributes are used by the following algorithms:
Prs3d_WFShape

Reimplemented from Prs3d_Drawer.

Standard_Boolean AIS_Drawer::WireDraw ( ) const
virtual

 Returns a link   with Prs3d_Drawer_WireDraw. This <br>

method returns true if drawing of wires is enabled.
The default setting is true.

Reimplemented from Prs3d_Drawer.


The documentation for this class was generated from the following file: