Share

Autodesk.AutoCAD.GraphicsInterface.DrawableAttributes Enumeration

Description

This .NET class wraps the AcGiDrawable::SetAttributesFlags ObjectARX enum.

Visual Basic

Public Enum DrawableAttributes
  BlockDependentViewportDraw = &H1000
  HasAttributes = &H20
  IsAnEntity = 1
  IsCompoundObject = 4
  IsDimension = &H85
  IsExternalReference = &H2000
  IsInvisible = &H10
  None = 0
  NotPlottable = &H4000
  RegenDraw = &H100
  RegenTypeDependentGeometry = &H40
  ShadedDisplaySingleLOD = &H400
  StandardDisplaySingleLOD = &H200
  UsesNesting = 2
  ViewDependentViewportDraw = &H800
  ViewIndependentViewportDraw = 8
End Enum

Members

Members Description
BlockDependentViewportDraw = 0x1000 The drawable has a unique ViewportDraw elaboration for each block path
HasAttributes = 0x20 Used in combination with IsCompoundObject, this flag indicates that one or more Attributes will follow the nested objects. If this flag is specified, then the drawable must call WorldGeometry.StartAttributesSegment and send one or more Attributes to the GS at the end of its WorldDraw. Drawables issuing this flag may not use ViewportDraw.
IsAnEntity = 1Entity-derived classes may require some special processing and must return this flag.
IsCompoundObject = 4 This flag notifies that graphics system that this object wishes to behave like a block in the display list. It is only valid when combined with the IsAnEntity flag. If you specify this flag, you must also override Entity.CompoundObjectTransform. A compound object has no directly selectable geometry other than the nested objects that it renders via the Geometry.Draw() method.
IsDimension = 0x85 Dimensions receive special handling, behaving similarly to blocks but with some differences. This flag is set by the default implementation of Dimension. This flag should not be specified for objects other than dimensions. Its value is made up of IsAnEntity + IsCompoundObject + 128.
IsExternalReference = 0x2000 Drawable is an external reference
IsInvisible = 0x10 Indicates that this object is invisible and need not be rendered. This flag may also be used to indicate that WorldDraw() and ViewportDraw() are no-ops and may be skipped for optimization purposes.
None = 0 Default drawable; just uses primitives and does not use nested calls to Draw().
NotPlottable = 0x4000 Drawable will not be plotted.
RegenDraw = 0x100 Instructs the graphics system to always call WorldDraw() and ViewportDraw(), if specified, when redrawing this drawable. This prevents the graphics system from caching the geometry for this drawable. Use this flag only as necessary, as drawables of this type draw much more slowly than if they were cached by the graphics system.
RegenTypeDependentGeometry = 0x40 If the geometry you elaborate is dependant on the regentype (for instance, if your drawable draws itself as a set of polygons in a "shaded" regen-mode but as a set of wires in "standard display"), specify this flag.
ShadedDisplaySingleLOD = 0x400 Instructs the graphics system that the drawable has a single level of detail for regen type ShadedDisplay.
StandardDisplaySingleLOD = 0x200 Instructs the graphics system that the drawable has a single level of detail for regen type StandardDisplay.
UsesNesting = 2 Uses nesting but does not send down additional primitives. It uses Draw() exclusively and makes no calls to the other primitives such as circle or shell. An example of this type of drawable would be an BlockTableRecord.
ViewDependentViewportDraw = 0x800 The drawable requires ViewportDraw be called on every view change
ViewIndependentViewportDraw = 8 Instructs the graphics system that it may cache ViewportDraw geometry. Currently this flag is meaningful only to AutoCAD's 3D Graphics System. Use this flag if the geometry which you render in ViewportDraw() is not dependent on the view configuration, that is, if it does not change when viewed from different positions. The graphics system will then use the cached graphics when the view changes. Do not use this flag if the geometry is to be zoom independent because the cached graphics will change size on screen due to zoom scaling effects. This flag also indicates that WorldDraw() need not be called since all graphics are rendered via ViewportDraw(). ViewportDraw() may be implemented this way if, for instance, you are drawing 3D solids and want to enhance performance by using the 3D Graphics System's caching mechanism. The caching mechanism is disabled for entities that also use WorldDraw().

Was this information helpful?