CFx SDK Documentation  2020SP3
Public Types | Public Member Functions | List of all members
OdGiSubEntityTraits Class Referenceabstract

#include <Gi.h>

Inheritance diagram for OdGiSubEntityTraits:
OdGiDrawableTraits OdRxObject OdGiDummySubEntityTraits< OdGiSubEntityTraits > OdGiSubEntityTraitsToDataWrapper< OdGiSubEntityTraits, OdGiSubEntityTraits > OdGiViewportTraits OdGiWorldDrawImpl OdStaticRxObject< OdGiSubEntityTraits > OdGiSubEntityTraits_ OdGiViewportDraw_Dummy OdGiWorldDraw_Dummy OdGiSubEntityTraitsWrapper< OdGiSubEntityTraits > OdGiBaseVectorizer OdGiSubEntityTraitsToDataWrapper< OdStaticRxObject< OdGiSubEntityTraits >, OdGiSubEntityTraitsData > OdGiLayerTraitsTaker OdGiViewportDraw_Stub OdGiWorldDraw_Stub OdGiBaseVectorizerImpl OdGiExtCalc OdGiSubEntityTraitsToData OdGiLayerTraitsTakerView OdGsBaseVectorizer OdGsBaseMaterialVectorizer OdGsBaseVectorizeViewJoin< OdGsBaseVectorizer > OdGsBaseMaterialViewPC OdGsBaseVectorizeViewDef OdGsBaseVectorizeViewJoinMT< OdGsBaseVectorizer > OdGsBaseVectorizeViewJoin< OdGsBaseMaterialViewPC > OdGsBaseVectorizeViewMT OdGsBaseMaterialView OdGsBaseVectorizeViewJoinMT< OdGsBaseMaterialViewPC > OdGsBaseMaterialViewMT

Public Types

enum  DrawFlags {
  kNoDrawFlags = 0x0000, kDrawBackfaces = 0x0001, kDrawHatchGroup = 0x0002, kDrawFrontfacesOnly = 0x0004,
  kDrawGradientFill = 0x0008, kDrawSolidFill = 0x0010, kDrawNoLineWeight = 0x0020, kDrawNoPlotstyle = 0x0080,
  kDrawContourFill = 0x08000, kDisableLayoutCache = 0x10000, kDrawBoundaryForClipping = 0x20000, kDrawBoundaryForClippingDrw = 0x40000,
  kClipSetIsEmpty = 0x80000, kInternalDrawFlags = kDisableLayoutCache | kClipSetIsEmpty, kDrawPolygonFill = 0x100000, kExcludeFromViewExt = 0x200000,
  kDrawDgLsPolyWithoutBreaks = 0x400000, kPolygonProcessing = 0x800000, kDisableAutoGenerateNormals = 0x1000000, kDisableFillModeCheck = 0x2000000,
  kDrawUnderlayReference = 0x4000000, kFxNoFillOnSelect = 0x08000000, kInheritableDrawFlags
}
 
enum  ShadowFlags { kShadowsCastAndReceive = 0, kShadowsDoesNotCast = 1, kShadowsDoesNotReceive = 2, kShadowsIgnore = kShadowsDoesNotCast | kShadowsDoesNotReceive }
 
enum  SelectionFlags { kNoSelectionFlags = 0, kSelectionIgnore = 1, kHighlightingGeometry = 2, kFxSubentitySelection = 0x80 }
 
enum  SubEntityHints {
  kHint2DAttributes = 1, kHint3DAttributes = 2, kHintAllAttributes = kHint2DAttributes | kHint3DAttributes, kHintSnapModeOn = 4,
  kHintDefaultState = kHintAllAttributes
}
 

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGiSubEntityTraits)
 
virtual void setColor (OdUInt16 color)=0
 
virtual void setTrueColor (const OdCmEntityColor &color)=0
 
virtual void setLayer (OdDbStub *layerId)=0
 
virtual void setLineType (OdDbStub *lineTypeId)=0
 
virtual void setSelectionMarker (OdGsMarker selectionMarker)=0
 
virtual void setFillType (OdGiFillType fillType)=0
 
virtual void setFillPlane (const OdGeVector3d *pNormal=0)
 
virtual void setLineWeight (OdDb::LineWeight lineWeight)=0
 
virtual void setLineTypeScale (double lineTypeScale=1.0)=0
 
virtual void setThickness (double thickness)=0
 
virtual void setPlotStyleName (OdDb::PlotStyleNameType plotStyleNameType, OdDbStub *plotStyleNameId=0)=0
 
virtual void setMaterial (OdDbStub *materialId)=0
 
virtual void setMapper (const OdGiMapper *pMapper)=0
 
virtual void setVisualStyle (const OdDbStub *visualStyleId)
 
virtual void setTransparency (const OdCmTransparency &transparency)
 
virtual void setDrawFlags (OdUInt32 drawFlags)
 
virtual void setSelectionGeom (bool bSelectionFlag)
 
virtual void setShadowFlags (ShadowFlags shadowFlags)
 
virtual void setSectionable (bool bSectionableFlag)
 
virtual void setSelectionFlags (SelectionFlags selectionFlags)
 
virtual OdUInt16 color () const =0
 
virtual OdCmEntityColor trueColor () const =0
 
virtual OdDbStub * layer () const =0
 
virtual OdDbStub * lineType () const =0
 
virtual OdGiFillType fillType () const =0
 
virtual bool fillPlane (OdGeVector3d &normal)
 
virtual OdDb::LineWeight lineWeight () const =0
 
virtual double lineTypeScale () const =0
 
virtual double thickness () const =0
 
virtual OdDb::PlotStyleNameType plotStyleNameType () const =0
 
virtual OdDbStub * plotStyleNameId () const =0
 
virtual OdDbStub * material () const =0
 
virtual const OdGiMappermapper () const =0
 
virtual OdDbStub * visualStyle () const
 
virtual OdCmTransparency transparency () const
 
virtual OdUInt32 drawFlags () const
 
virtual bool selectionGeom () const
 
virtual ShadowFlags shadowFlags () const
 
virtual bool sectionable () const
 
virtual SelectionFlags selectionFlags () const
 
virtual void setSecondaryTrueColor (const OdCmEntityColor &color)
 
virtual OdCmEntityColor secondaryTrueColor () const
 
virtual void setLineStyleModifiers (const OdGiDgLinetypeModifiers *pLSMod)
 
virtual const OdGiDgLinetypeModifierslineStyleModifiers () const
 
virtual void setFill (const OdGiFill *pFill)
 
virtual const OdGiFillfill () const
 
virtual bool pushLineweightOverride (const OdGiLineweightOverride *pOverride)
 
virtual void popLineweightOverride ()
 
virtual OdUInt32 setupForEntity () const
 
virtual void addLight (const OdDbStub *lightId)
 
- Public Member Functions inherited from OdGiDrawableTraits
 ODRX_DECLARE_MEMBERS (OdGiDrawableTraits)
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual void addRef ()=0
 
virtual void release ()=0
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Additional Inherited Members

- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 

Detailed Description

This class provides an interface to the graphical attributes of graphic primitives.

Remarks
An OdGiSubEntityTraits instance is available during calls to subWorldDraw and subViewportDraw, so that drawable classes can control attributes during the vectorization process. Graphical attribute settings are used for all graphical primitives until they are changed.

The functions in this class are implemented by the OdGiAbstractVectorizer class.

See also
TD_Gi

<group OdGi_Classes>

Definition at line 93 of file Gi.h.

Member Enumeration Documentation

◆ DrawFlags

Enumerator
kNoDrawFlags 
kDrawBackfaces 
kDrawHatchGroup 
kDrawFrontfacesOnly 
kDrawGradientFill 
kDrawSolidFill 
kDrawNoLineWeight 
kDrawNoPlotstyle 
kDrawContourFill 
kDisableLayoutCache 
kDrawBoundaryForClipping 
kDrawBoundaryForClippingDrw 
kClipSetIsEmpty 
kInternalDrawFlags 
kDrawPolygonFill 
kExcludeFromViewExt 
kDrawDgLsPolyWithoutBreaks 
kPolygonProcessing 
kDisableAutoGenerateNormals 
kDisableFillModeCheck 
kDrawUnderlayReference 
kFxNoFillOnSelect 
kInheritableDrawFlags 

Definition at line 96 of file Gi.h.

◆ SelectionFlags

Enumerator
kNoSelectionFlags 
kSelectionIgnore 
kHighlightingGeometry 
kFxSubentitySelection 

Definition at line 152 of file Gi.h.

◆ ShadowFlags

Enumerator
kShadowsCastAndReceive 
kShadowsDoesNotCast 
kShadowsDoesNotReceive 
kShadowsIgnore 

Definition at line 144 of file Gi.h.

◆ SubEntityHints

Enumerator
kHint2DAttributes 
kHint3DAttributes 
kHintAllAttributes 
kHintSnapModeOn 
kHintDefaultState 

Definition at line 163 of file Gi.h.

Member Function Documentation

◆ addLight()

virtual void OdGiSubEntityTraits::addLight ( const OdDbStub *  lightId)
virtual

Adds a light object to the model.

Parameters
lightId[in] Object ID of the light.
Remarks
Through this interface, drawables that emit light can add light objects to the model.

Reimplemented in OdGiDummySubEntityTraits< OdGiSubEntityTraits >.

◆ color()

virtual OdUInt16 OdGiSubEntityTraits::color ( ) const
pure virtual

Returns the current color index (ACI).

Remarks
color() returns one of the following:

Value Description kACIbyBlock 0 ByBlock. kACIforeground 7 Foreground color. kACIbyLayer 256 ByLayer. kACIRed 1 Red. kACIYellow 2 Yellow. kACIGreen 3 Green. kACICyan 4 Cyan. kACIBlue 5 Blue. kACIMagenta 6 Magenta. .. 8-255 Defined by AcadPalette.h

Implemented in OdGiSubEntityTraits_, and OdGiWorldDrawImpl.

◆ drawFlags()

virtual OdUInt32 OdGiSubEntityTraits::drawFlags ( ) const
virtual

Return the current DrawFlags bitmask.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ fill()

virtual const OdGiFill* OdGiSubEntityTraits::fill ( ) const
virtual

Return boundary filling parameters.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ fillPlane()

virtual bool OdGiSubEntityTraits::fillPlane ( OdGeVector3d normal)
virtual

Returns the normal to the current fill plane.

Parameters
normal[out] Receives the normal.
Remarks
As implemented, this function does nothing but return false. It will be fully implemented in a future release.

Reimplemented in OdGiSubEntityTraitsWrapper< OdGiSubEntityTraits >, OdGiDummySubEntityTraits< OdGiSubEntityTraits >, OdGiSubEntityTraitsToDataWrapper< OdGiSubEntityTraits, OdGiSubEntityTraits >, and OdGiSubEntityTraitsToDataWrapper< OdStaticRxObject< OdGiSubEntityTraits >, OdGiSubEntityTraitsData >.

◆ fillType()

virtual OdGiFillType OdGiSubEntityTraits::fillType ( ) const
pure virtual

Returns the current fill type.

Returns
fillType() returns one of the following:

Value Description kOdGiFillAlways 1 Fill closed graphic primitives. kOdGiFillNever 2 Don't fill closed graphic primitives.

Closed graphic primitives consist of the following: arcs with (OdGiArcType == kOdGiArcSector) || (OdGiArcType == kOdGiArcChord) circles meshes polygons shells

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ layer()

virtual OdDbStub* OdGiSubEntityTraits::layer ( ) const
pure virtual

Returns the current layer.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ lineStyleModifiers()

virtual const OdGiDgLinetypeModifiers* OdGiSubEntityTraits::lineStyleModifiers ( ) const
virtual

Return pointer to the current Dgn Line Style modifiers structure.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ lineType()

virtual OdDbStub* OdGiSubEntityTraits::lineType ( ) const
pure virtual

Returns the current linetype.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ lineTypeScale()

virtual double OdGiSubEntityTraits::lineTypeScale ( ) const
pure virtual

Returns the current linetype scale.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ lineWeight()

virtual OdDb::LineWeight OdGiSubEntityTraits::lineWeight ( ) const
pure virtual

Returns the current lineweight.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ mapper()

virtual const OdGiMapper* OdGiSubEntityTraits::mapper ( ) const
pure virtual

Returns pointer to the current material mapper.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ material()

virtual OdDbStub* OdGiSubEntityTraits::material ( ) const
pure virtual

Returns the Object ID of the material.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ ODRX_DECLARE_MEMBERS()

OdGiSubEntityTraits::ODRX_DECLARE_MEMBERS ( OdGiSubEntityTraits  )

◆ plotStyleNameId()

virtual OdDbStub* OdGiSubEntityTraits::plotStyleNameId ( ) const
pure virtual

Returns object ID of the the plot style name.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ plotStyleNameType()

virtual OdDb::PlotStyleNameType OdGiSubEntityTraits::plotStyleNameType ( ) const
pure virtual

Returns the current PlotStyleName type.

Remarks
plotStyleNameType() returns one of the following:

Value
kPlotStyleNameByLayer 0 kPlotStyleNameByBlock 1 kPlotStyleNameIsDictDefault 2 kPlotStyleNameById 3

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ popLineweightOverride()

virtual void OdGiSubEntityTraits::popLineweightOverride ( )
virtual

Pop lineweight scale and style override from lineweight overrides stack.

Reimplemented in OdGiBaseVectorizerImpl.

◆ pushLineweightOverride()

virtual bool OdGiSubEntityTraits::pushLineweightOverride ( const OdGiLineweightOverride pOverride)
virtual

Push lineweight scale and style override into lineweight overrides stack.

Parameters
pOverride[in] New lineweight override.
Returns
Returns true in case if lineweight overrides supported by underlying vectorization pipeline.

Reimplemented in OdGiBaseVectorizerImpl.

◆ secondaryTrueColor()

virtual OdCmEntityColor OdGiSubEntityTraits::secondaryTrueColor ( ) const
virtual

Returns the current secondary color as an OdCmEntityColor instance.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ sectionable()

virtual bool OdGiSubEntityTraits::sectionable ( ) const
virtual

Return the current sectionable flag.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ selectionFlags()

virtual SelectionFlags OdGiSubEntityTraits::selectionFlags ( ) const
virtual

Return the current SelectionFlags.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ selectionGeom()

virtual bool OdGiSubEntityTraits::selectionGeom ( ) const
virtual

Return the current selection geometry flag.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ setColor()

virtual void OdGiSubEntityTraits::setColor ( OdUInt16  color)
pure virtual

Sets the current color index (ACI).

Parameters
color[in] Color index.
Remarks
color must be one of the following:

Value Description kACIbyBlock 0 ByBlock. kACIforeground 7 Foreground color. kACIbyLayer 256 ByLayer. kACIRed 1 Red. kACIYellow 2 Yellow. kACIGreen 3 Green. kACICyan 4 Cyan. kACIBlue 5 Blue. kACIMagenta 6 Magenta. .. 8-255 Defined by AcadPalette.h

Implemented in OdGiDummySubEntityTraits< OdGiSubEntityTraits >, OdGiSubEntityTraitsToDataWrapper< OdGiSubEntityTraits, OdGiSubEntityTraits >, OdGiSubEntityTraitsToDataWrapper< OdStaticRxObject< OdGiSubEntityTraits >, OdGiSubEntityTraitsData >, OdGiLayerTraitsTaker, OdGiBaseVectorizer, and OdGiWorldDrawImpl.

◆ setDrawFlags()

virtual void OdGiSubEntityTraits::setDrawFlags ( OdUInt32  drawFlags)
virtual

◆ setFill()

virtual void OdGiSubEntityTraits::setFill ( const OdGiFill pFill)
virtual

◆ setFillPlane()

virtual void OdGiSubEntityTraits::setFillPlane ( const OdGeVector3d pNormal = 0)
virtual

Sets the current fill plane.

Parameters
pNormal[in] Pointer to the normal to the plane.
Remarks
As implemented, this function does nothing but return. It will be fully implemented in a future release.

Reimplemented in OdGiBaseVectorizerImpl, OdGiSubEntityTraitsWrapper< OdGiSubEntityTraits >, OdGiDummySubEntityTraits< OdGiSubEntityTraits >, OdGiSubEntityTraitsToDataWrapper< OdGiSubEntityTraits, OdGiSubEntityTraits >, and OdGiSubEntityTraitsToDataWrapper< OdStaticRxObject< OdGiSubEntityTraits >, OdGiSubEntityTraitsData >.

◆ setFillType()

virtual void OdGiSubEntityTraits::setFillType ( OdGiFillType  fillType)
pure virtual

Sets the current fill type.

Parameters
fillType[in] Fill type.
Remarks
fillType must be one of the following:

Value Description kOdGiFillAlways 1 Fill closed graphic primitives. kOdGiFillNever 2 Don't fill closed graphic primitives.

Closed graphic primitives consist of the following: arcs with (OdGiArcType == kOdGiArcSector) || (OdGiArcType == kOdGiArcChord) circles meshes polygons shells

Implemented in OdGiDummySubEntityTraits< OdGiSubEntityTraits >, OdGiSubEntityTraitsToDataWrapper< OdGiSubEntityTraits, OdGiSubEntityTraits >, OdGiSubEntityTraitsToDataWrapper< OdStaticRxObject< OdGiSubEntityTraits >, OdGiSubEntityTraitsData >, OdGiBaseVectorizerImpl, OdGiBaseVectorizer, and OdGiWorldDrawImpl.

◆ setLayer()

virtual void OdGiSubEntityTraits::setLayer ( OdDbStub *  layerId)
pure virtual

◆ setLineStyleModifiers()

virtual void OdGiSubEntityTraits::setLineStyleModifiers ( const OdGiDgLinetypeModifiers pLSMod)
virtual

◆ setLineType()

virtual void OdGiSubEntityTraits::setLineType ( OdDbStub *  lineTypeId)
pure virtual

◆ setLineTypeScale()

virtual void OdGiSubEntityTraits::setLineTypeScale ( double  lineTypeScale = 1.0)
pure virtual

◆ setLineWeight()

virtual void OdGiSubEntityTraits::setLineWeight ( OdDb::LineWeight  lineWeight)
pure virtual

◆ setMapper()

virtual void OdGiSubEntityTraits::setMapper ( const OdGiMapper pMapper)
pure virtual

◆ setMaterial()

virtual void OdGiSubEntityTraits::setMaterial ( OdDbStub *  materialId)
pure virtual

◆ setPlotStyleName()

virtual void OdGiSubEntityTraits::setPlotStyleName ( OdDb::PlotStyleNameType  plotStyleNameType,
OdDbStub *  plotStyleNameId = 0 
)
pure virtual

Sets the current PlotStyleName.

Parameters
plotStyleNameType[in] Plot Style Name Type.
plotStyleNameId[in] Object ID of the Plot Style Name.
Remarks
plotStyleNameId is used only when plotStyleNameType == kPlotStyleNameById.

plotStyleNameType must be one of the following:

Value
kPlotStyleNameByLayer 0 kPlotStyleNameByBlock 1 kPlotStyleNameIsDictDefault 2 kPlotStyleNameById 3

Implemented in OdGiDummySubEntityTraits< OdGiSubEntityTraits >, OdGiLayerTraitsTaker, OdGiBaseVectorizer, OdGiWorldDrawImpl, OdGiSubEntityTraitsToDataWrapper< OdGiSubEntityTraits, OdGiSubEntityTraits >, and OdGiSubEntityTraitsToDataWrapper< OdStaticRxObject< OdGiSubEntityTraits >, OdGiSubEntityTraitsData >.

◆ setSecondaryTrueColor()

virtual void OdGiSubEntityTraits::setSecondaryTrueColor ( const OdCmEntityColor color)
virtual

◆ setSectionable()

virtual void OdGiSubEntityTraits::setSectionable ( bool  bSectionableFlag)
virtual

◆ setSelectionFlags()

virtual void OdGiSubEntityTraits::setSelectionFlags ( SelectionFlags  selectionFlags)
virtual

◆ setSelectionGeom()

virtual void OdGiSubEntityTraits::setSelectionGeom ( bool  bSelectionFlag)
virtual

◆ setSelectionMarker()

virtual void OdGiSubEntityTraits::setSelectionMarker ( OdGsMarker  selectionMarker)
pure virtual

◆ setShadowFlags()

virtual void OdGiSubEntityTraits::setShadowFlags ( ShadowFlags  shadowFlags)
virtual

◆ setThickness()

virtual void OdGiSubEntityTraits::setThickness ( double  thickness)
pure virtual

◆ setTransparency()

virtual void OdGiSubEntityTraits::setTransparency ( const OdCmTransparency transparency)
virtual

◆ setTrueColor()

virtual void OdGiSubEntityTraits::setTrueColor ( const OdCmEntityColor color)
pure virtual

◆ setupForEntity()

virtual OdUInt32 OdGiSubEntityTraits::setupForEntity ( ) const
virtual

Returns the set of SubEntityHints flags which can be used to provide more flexible tuning of subSetAttributes traits processing.

Reimplemented in OdGiBaseVectorizerImpl.

◆ setVisualStyle()

virtual void OdGiSubEntityTraits::setVisualStyle ( const OdDbStub *  visualStyleId)
virtual

◆ shadowFlags()

virtual ShadowFlags OdGiSubEntityTraits::shadowFlags ( ) const
virtual

Return the current ShadowFlags.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ thickness()

virtual double OdGiSubEntityTraits::thickness ( ) const
pure virtual

Returns the current thickness.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ transparency()

virtual OdCmTransparency OdGiSubEntityTraits::transparency ( ) const
virtual

Returns the current transparency.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ trueColor()

virtual OdCmEntityColor OdGiSubEntityTraits::trueColor ( ) const
pure virtual

Returns the current color as an OdCmEntityColor instance.

Implemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.

◆ visualStyle()

virtual OdDbStub* OdGiSubEntityTraits::visualStyle ( ) const
virtual

Returns the Object ID of the visual style.

Reimplemented in OdGiLayerTraitsTaker, and OdGiWorldDrawImpl.


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