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

#include <GiCommonDraw.h>

Inheritance diagram for OdGiContext:
OdRxObject OdGiDefaultContext OdGiDummyContext< OdGiContext > OdGiContextForDbDatabase OdGiContextForIfcDatabase OdGiViewportDraw_Dummy OdGiWorldDraw_Dummy

Public Types

enum  ImageQuality { kImageQualityDraft = 0, kImageQualityHigh = 1 }
 
enum  FadingType { kLockedLayerFade = 0, kXrefFade = 1, kRefEditFade = 2 }
 
enum  GlyphType { kLightGlyph = 0, kCameraGlyph = 1 }
 
enum  LineWeightStyle { kPointLineWeight = 0, kLineCapStyle = 1, kLineJoinStyle = 2 }
 
enum  DrawableFilterInputFlags { kNestedDrawable = 0x1000000 }
 
enum  DrawableFilterOutputFlags { kSkipVectorization = 1 }
 
enum  DrawableFilterRanges { kDrawableFilterAppRangeStart = 0x1000000, kDrawableFilterAppRangeMask = (OdInt32)0xFF000000 }
 
enum  PStyleType { kPsNone = 0, kPsByColor = 1, kPsByName = 2 }
 
enum  SilhouetteType { kNoSilhouettes = 0, kMeshSilhouettes = (1 << 0), kModelerSilhouettes = (1 << 1), kAllSilhouettes = kMeshSilhouettes | kModelerSilhouettes }
 

Public Member Functions

 ODRX_DECLARE_MEMBERS (OdGiContext)
 
virtual OdDbBaseDatabasedatabase () const =0
 
virtual OdGiDrawablePtr openDrawable (OdDbStub *drawableId)=0
 
virtual OdDb::LineWeight defaultLineWeight () const
 
virtual double commonLinetypeScale () const
 
virtual void getDefaultTextStyle (OdGiTextStyle &textStyle)
 
virtual void drawShape (OdGiCommonDraw *pDraw, OdGePoint3d &position, int shapeNumber, const OdGiTextStyle *pTextStyle)
 
virtual void drawShape (OdGiConveyorGeometry *pDest, const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, int shapeNumber, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion)
 
virtual void drawText (OdGiCommonDraw *pDraw, OdGePoint3d &position, const OdChar *msg, OdInt32 numBytes, const OdGiTextStyle *pTextStyle, OdUInt32 flags=0)
 
virtual void drawText (OdGiCommonDraw *pDraw, OdGePoint3d &position, double height, double width, double oblique, const OdString &msg)
 
virtual void drawText (OdGiConveyorGeometry *pDest, const OdGePoint3d &position, const OdGeVector3d &direction, const OdGeVector3d &upVector, const OdChar *msg, OdInt32 numBytes, bool raw, const OdGiTextStyle *pTextStyle, const OdGeVector3d *pExtrusion)
 
virtual void textExtentsBox (const OdGiTextStyle &textStyle, const OdChar *msg, int nLength, OdUInt32 flags, OdGePoint3d &min, OdGePoint3d &max, OdGePoint3d *pEndPos=0)
 
virtual void shapeExtentsBox (const OdGiTextStyle &textStyle, int shapeNumber, OdGePoint3d &min, OdGePoint3d &max)
 
virtual unsigned int circleZoomPercent (OdDbStub *viewportId) const
 
virtual bool isPlotGeneration () const
 
virtual ODCOLORREF paletteBackground () const
 
virtual bool fillTtf () const
 
virtual OdUInt32 numberOfIsolines () const
 
virtual bool fillMode () const
 
virtual bool quickTextMode () const
 
virtual OdUInt32 textQuality () const
 
virtual ImageQuality imageQuality () const
 
virtual OdUInt32 fadingIntensityPercentage (FadingType fadingType) const
 
virtual OdUInt32 glyphSize (GlyphType glyphType) const
 
virtual OdUInt32 lineWeightConfiguration (LineWeightStyle styleEntry) const
 
virtual OdIntPtr drawableFilterFunctionId (OdDbStub *viewportId) const
 
virtual OdUInt32 drawableFilterFunction (OdIntPtr functionId, const OdGiDrawable *pDrawable, OdUInt32 nFlags)
 
virtual bool ttfPolyDraw () const
 
virtual bool regenAbort () const
 
virtual PStyleType plotStyleType () const
 
virtual void plotStyle (int penNumber, OdPsPlotStyleData &plotStyleData) const
 
virtual void plotStyle (OdDbStub *objectId, OdPsPlotStyleData &plotStyleData) const
 
virtual OdDbStub * getStubByID (OdUInt64 persistentId) const
 
virtual OdUInt64 getIDByStub (OdDbStub *objectId) const
 
virtual OdDbBaseDatabasegetDatabaseByStub (OdDbStub *objectId) const
 
virtual OdDbStub * getOwnerIDByStub (OdDbStub *objectId) const
 
virtual OdDbStub * getStubByMatName (const OdString &strMatName) const
 
virtual OdUInt32 displaySilhouettes () const
 
bool displayMeshSilhouettes () const
 
bool displayModelerSilhouettes () const
 
virtual OdGiSectionGeometryManagerPtr getSectionGeometryManager ()
 
virtual OdUInt32 antiAliasingMode () const
 
virtual bool xrefPropertiesOverride () const
 
- 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 defines common operations and properties that are used in the Teigha vectorization process.

Remarks
An instance of an OdGiContext subclass is normally created as a preliminary step in the vectorization process, which is to be used throughout the vectorization.

Most of the virtual functions in this class (the ones that are not pure virtual) are no-ops, serving only to define an interface.

Corresponding C++ library: TD_Gi

<group OdGi_Classes>

Definition at line 107 of file GiCommonDraw.h.

Member Enumeration Documentation

◆ DrawableFilterInputFlags

Input flags of drawable filter.

Enumerator
kNestedDrawable 

Definition at line 394 of file GiCommonDraw.h.

◆ DrawableFilterOutputFlags

Output flags of drawable filter.

Enumerator
kSkipVectorization 

Definition at line 402 of file GiCommonDraw.h.

◆ DrawableFilterRanges

Ranges of drawable filter.

Enumerator
kDrawableFilterAppRangeStart 
kDrawableFilterAppRangeMask 

Definition at line 410 of file GiCommonDraw.h.

◆ FadingType

Fading types.

Enumerator
kLockedLayerFade 
kXrefFade 
kRefEditFade 

Definition at line 331 of file GiCommonDraw.h.

◆ GlyphType

Glyph types.

Enumerator
kLightGlyph 
kCameraGlyph 

Definition at line 346 of file GiCommonDraw.h.

◆ ImageQuality

Image quality types.

Enumerator
kImageQualityDraft 
kImageQualityHigh 

Definition at line 317 of file GiCommonDraw.h.

◆ LineWeightStyle

Lineweight styles.

Enumerator
kPointLineWeight 
kLineCapStyle 
kLineJoinStyle 

Definition at line 372 of file GiCommonDraw.h.

◆ PStyleType

Plot style types.

Enumerator
kPsNone 
kPsByColor 
kPsByName 

Definition at line 451 of file GiCommonDraw.h.

◆ SilhouetteType

Silhouette types.

Enumerator
kNoSilhouettes 
kMeshSilhouettes 
kModelerSilhouettes 
kAllSilhouettes 

Definition at line 526 of file GiCommonDraw.h.

Member Function Documentation

◆ antiAliasingMode()

virtual OdUInt32 OdGiContext::antiAliasingMode ( ) const
virtual

Controls rendering anti-aliasing.

Reimplemented in OdGiContextForDbDatabase.

◆ circleZoomPercent()

virtual unsigned int OdGiContext::circleZoomPercent ( OdDbStub *  viewportId) const
virtual

Returns the circle zoom percent for this vectorization process.

Parameters
viewportId[in] Pointer to the Object ID of the Viewport object to be queried.
Returns
Returns a value in the range [1,20000]. 100 is the default.

Reimplemented in OdGiContextForDbDatabase.

◆ commonLinetypeScale()

virtual double OdGiContext::commonLinetypeScale ( ) const
virtual

Returns the common linetype scale for this Context object.

Reimplemented in OdGiContextForDbDatabase.

◆ database()

virtual OdDbBaseDatabase* OdGiContext::database ( ) const
pure virtual

Returns the database that is currently being vectorized.

Implemented in OdGiContextForDbDatabase, OdGiWorldDraw_Dummy, OdGiViewportDraw_Dummy, and OdGiContextForIfcDatabase.

◆ defaultLineWeight()

virtual OdDb::LineWeight OdGiContext::defaultLineWeight ( ) const
virtual

Returns the default lineweight associated with this Context object.

Reimplemented in OdGiContextForDbDatabase.

◆ displayMeshSilhouettes()

bool OdGiContext::displayMeshSilhouettes ( ) const
inline

Returns true if generation of silhouettes is enabled for shell primitives on Gi side.

Definition at line 541 of file GiCommonDraw.h.

◆ displayModelerSilhouettes()

bool OdGiContext::displayModelerSilhouettes ( ) const
inline

Returns true if generation of silhouettes is enabled for modeler geometry.

Definition at line 545 of file GiCommonDraw.h.

◆ displaySilhouettes()

virtual OdUInt32 OdGiContext::displaySilhouettes ( ) const
virtual

Controls the display of silhouettes.

Reimplemented in OdGiContextForDbDatabase.

◆ drawableFilterFunction()

virtual OdUInt32 OdGiContext::drawableFilterFunction ( OdIntPtr  functionId,
const OdGiDrawable pDrawable,
OdUInt32  nFlags 
)
virtual

Returns the set of flags for the drawable filtration function (will be called for each drawable vectorization).

Parameters
functionId[in] Internal drawable filtration function ID.
pDrawable[in] Currently vectorizing drawable pointer.
nFlags[in] Set of input flags.

Reimplemented in OdGiContextForDbDatabase, and OdGiContextForIfcDatabase.

◆ drawableFilterFunctionId()

virtual OdIntPtr OdGiContext::drawableFilterFunctionId ( OdDbStub *  viewportId) const
virtual

Returns internal drawable filtration function ID.

Parameters
viewportId[in] Pointer to the Object ID of the Viewport object to be queried.

Reimplemented in OdGiContextForDbDatabase, and OdGiContextForIfcDatabase.

◆ drawShape() [1/2]

virtual void OdGiContext::drawShape ( OdGiCommonDraw pDraw,
OdGePoint3d position,
int  shapeNumber,
const OdGiTextStyle pTextStyle 
)
virtual

Vectorizes the specified shape to the specified interface object.

Parameters
pDraw[in] Pointer to the CommonDraw object.
position[in] Position of the shape.
shapeNumber[in] Shape number.
pTextStyle[in] Pointer to the TextStyle for the shape.

Reimplemented in OdGiDefaultContext.

◆ drawShape() [2/2]

virtual void OdGiContext::drawShape ( OdGiConveyorGeometry pDest,
const OdGePoint3d position,
const OdGeVector3d direction,
const OdGeVector3d upVector,
int  shapeNumber,
const OdGiTextStyle pTextStyle,
const OdGeVector3d pExtrusion 
)
virtual
Parameters
pDest[in] Pointer to the Conveyor object.
direction[in] Baseline direction for the text.
upVector[in] Up vector for the text.
pExtrusion[in] Pointer to the Extrusion vector for the text.

Reimplemented in OdGiDefaultContext.

◆ drawText() [1/3]

virtual void OdGiContext::drawText ( OdGiCommonDraw pDraw,
OdGePoint3d position,
const OdChar msg,
OdInt32  numBytes,
const OdGiTextStyle pTextStyle,
OdUInt32  flags = 0 
)
virtual

Vectorizes the specified text string to the supplied CommonDraw object.

Parameters
pDraw[in] Pointer to the CommonDraw object.
position[in] Position of the text.
msg[in] Text string.
numBytes[in] Number of bytes in msg (not including the optional null byte).
pTextStyle[in] Pointer to the TextStyle for msg.
flags[in] Vectorization flags.
Remarks
msg must be null terminated if numBytes is not supplied.

Reimplemented in OdGiDefaultContext.

◆ drawText() [2/3]

virtual void OdGiContext::drawText ( OdGiCommonDraw pDraw,
OdGePoint3d position,
double  height,
double  width,
double  oblique,
const OdString msg 
)
virtual
Parameters
height[in] Height of the text.
width[in] Width of the text.
oblique[in] Oblique angle of the text.
Remarks
All angles are expressed in radians.

As currently implemented, this function ignores width and oblique. They will be fully implemented in a future release.

Reimplemented in OdGiDefaultContext.

◆ drawText() [3/3]

virtual void OdGiContext::drawText ( OdGiConveyorGeometry pDest,
const OdGePoint3d position,
const OdGeVector3d direction,
const OdGeVector3d upVector,
const OdChar msg,
OdInt32  numBytes,
bool  raw,
const OdGiTextStyle pTextStyle,
const OdGeVector3d pExtrusion 
)
virtual
Parameters
pDest[in] Pointer to the Conveyor object.
direction[in] Baseline direction for the text.
upVector[in] Up vector for the text.
pExtrusion[in] Pointer to the extrusion vector for the text.
raw[in] If and only if true, escape sequences, such as %P, will not be converted to special characters.

Reimplemented in OdGiDefaultContext.

◆ fadingIntensityPercentage()

virtual OdUInt32 OdGiContext::fadingIntensityPercentage ( FadingType  fadingType) const
virtual

Fading intensity percentage.

Reimplemented in OdGiContextForDbDatabase.

◆ fillMode()

virtual bool OdGiContext::fillMode ( ) const
virtual

Returns true if and only if shell/mesh geometry primitives should be filled during this vectorization.

Reimplemented in OdGiContextForDbDatabase.

◆ fillTtf()

virtual bool OdGiContext::fillTtf ( ) const
virtual

Returns true if and only if TrueType text should be filled during this vectorization.

Reimplemented in OdGiContextForDbDatabase.

◆ getDatabaseByStub()

virtual OdDbBaseDatabase* OdGiContext::getDatabaseByStub ( OdDbStub *  objectId) const
virtual

Returns the database of an Object ID.

Parameters
objectId[in] Object ID.

Reimplemented in OdGiDefaultContext.

◆ getDefaultTextStyle()

virtual void OdGiContext::getDefaultTextStyle ( OdGiTextStyle textStyle)
virtual

Returns the default text style associated with this Context object.

Parameters
textStyle[out] Receives the TextStyle object.

Reimplemented in OdGiDefaultContext, and OdGiContextForDbDatabase.

◆ getIDByStub()

virtual OdUInt64 OdGiContext::getIDByStub ( OdDbStub *  objectId) const
virtual

Converts an Object ID to an object handle (database persistent ID).

Parameters
objectId[in] Object ID.

Reimplemented in OdGiDefaultContext.

◆ getOwnerIDByStub()

virtual OdDbStub* OdGiContext::getOwnerIDByStub ( OdDbStub *  objectId) const
virtual

Returns the Owner Object ID of the specified Object ID.

Parameters
objectId[in] Object ID.

Reimplemented in OdGiDefaultContext.

◆ getSectionGeometryManager()

virtual OdGiSectionGeometryManagerPtr OdGiContext::getSectionGeometryManager ( )
virtual

Returns the interface for accessing section geometry functionality.

Reimplemented in OdGiContextForDbDatabase.

◆ getStubByID()

virtual OdDbStub* OdGiContext::getStubByID ( OdUInt64  persistentId) const
virtual

Converts an object handle into an Object ID.

Parameters
objectId[in] Object handle.

Reimplemented in OdGiDefaultContext, and OdGiContextForDbDatabase.

◆ getStubByMatName()

virtual OdDbStub* OdGiContext::getStubByMatName ( const OdString strMatName) const
virtual

Converts a material name into an Object ID.

Parameters
strMatName[in] Material name.

Reimplemented in OdGiContextForDbDatabase.

◆ glyphSize()

virtual OdUInt32 OdGiContext::glyphSize ( GlyphType  glyphType) const
virtual

Returns the glyph size for the specified glyph type.

Parameters
glyphType[in] Type of glyph to return glyph size for.
Returns
Returns a value in the range [0,100].

The default return values are the following:

Value kLightGlyph 0 kCameraGlyph 50

◆ imageQuality()

virtual ImageQuality OdGiContext::imageQuality ( ) const
virtual

Returns the image quality for this vectorization process.

Reimplemented in OdGiContextForDbDatabase.

◆ isPlotGeneration()

virtual bool OdGiContext::isPlotGeneration ( ) const
virtual

Returns true if and only if this vectorization is intended for hard copy output.

Reimplemented in OdGiContextForDbDatabase, and OdGiContextForIfcDatabase.

◆ lineWeightConfiguration()

virtual OdUInt32 OdGiContext::lineWeightConfiguration ( LineWeightStyle  styleEntry) const
virtual

Returns the lineweight display style configuration.

Parameters
styleEntry[in] Lineweight style entry for which the current setting will be returned.
Remarks
For kPointLineWeight style, 0 will be returned if point lineweight is disabled or 1 will be returned if enabled. For kLineCapStyle style, entry will be returned as a member of the OdPs::LineEndStyle enumeration. For kLineJoinStyle style, entry will be returned as a member of the OdPs::LineJoinStyle enumeration.

◆ numberOfIsolines()

virtual OdUInt32 OdGiContext::numberOfIsolines ( ) const
virtual

Returns the number of isolines to be drawn on surfaces during this vectorization.

Reimplemented in OdGiContextForDbDatabase.

◆ ODRX_DECLARE_MEMBERS()

OdGiContext::ODRX_DECLARE_MEMBERS ( OdGiContext  )

◆ openDrawable()

virtual OdGiDrawablePtr OdGiContext::openDrawable ( OdDbStub *  drawableId)
pure virtual

Opens for reading the specified drawable object that belongs to the database associated with this Context object.

Parameters
drawableId[in] Object ID of the drawable to be opened.
Returns
Returns a SmartPointer to the drawable object.

Implemented in OdGiContextForDbDatabase, OdGiContextForIfcDatabase, and OdGiDummyContext< OdGiContext >.

◆ paletteBackground()

virtual ODCOLORREF OdGiContext::paletteBackground ( ) const
virtual

Returns the palette background color.

Reimplemented in OdGiDefaultContext, OdGiContextForDbDatabase, and OdGiContextForIfcDatabase.

◆ plotStyle() [1/2]

virtual void OdGiContext::plotStyle ( int  penNumber,
OdPsPlotStyleData plotStyleData 
) const
virtual

Returns the PaperSpace PlotStyle data for this vectorization.

Parameters
penNumber[in] Pen number.
plotStyleData[out] Receives the PlotStyle data.
objectId[in] Object ID of plot style.

Reimplemented in OdGiContextForDbDatabase.

◆ plotStyle() [2/2]

virtual void OdGiContext::plotStyle ( OdDbStub *  objectId,
OdPsPlotStyleData plotStyleData 
) const
virtual

Reimplemented in OdGiContextForDbDatabase.

◆ plotStyleType()

virtual PStyleType OdGiContext::plotStyleType ( ) const
virtual

Returns the plot style type of this Context object.

Remarks
plotStyleType() returns one of the following:

Value kPsNone 0 kPsByColor 1 kPsByName 2

Reimplemented in OdGiContextForDbDatabase.

◆ quickTextMode()

virtual bool OdGiContext::quickTextMode ( ) const
virtual

Returns true if and only if quick text mode is enabled for this vectorization process.

Reimplemented in OdGiContextForDbDatabase.

◆ regenAbort()

virtual bool OdGiContext::regenAbort ( ) const
virtual

Returns true if and only if this vectorization process should be aborted.

◆ shapeExtentsBox()

virtual void OdGiContext::shapeExtentsBox ( const OdGiTextStyle textStyle,
int  shapeNumber,
OdGePoint3d min,
OdGePoint3d max 
)
virtual

Returns the extents box for the specified shape.

Parameters
textStyle[in] TextStyle for the shape.
shapeNumber[in] Shape number.
min[out] Receives the lower-left corner of the extents box.
max[out] Receives the upper-right corner of the extents box.

Reimplemented in OdGiDefaultContext.

◆ textExtentsBox()

virtual void OdGiContext::textExtentsBox ( const OdGiTextStyle textStyle,
const OdChar msg,
int  nLength,
OdUInt32  flags,
OdGePoint3d min,
OdGePoint3d max,
OdGePoint3d pEndPos = 0 
)
virtual

Returns the extents box for the specified text.

Parameters
msg[in] Text string.
numBytes[in] Number of bytes in msg (not including the optional null byte).
textStyle[in] TextStyle for msg.
flags[in] Vectorization flags.
min[out] Receives the lower-left corner of the extents box.
max[out] Receives the upper-right corner of the extents box.
pEndPos[out] If non-NULL, receives the end position of the text string.

Reimplemented in OdGiDefaultContext.

◆ textQuality()

virtual OdUInt32 OdGiContext::textQuality ( ) const
virtual

Returns the text quality percent for this vectorization process.

Returns
Returns a value in the range [0,100]. 50 is the default.

Reimplemented in OdGiContextForDbDatabase.

◆ ttfPolyDraw()

virtual bool OdGiContext::ttfPolyDraw ( ) const
virtual

Enables smooth contours information output for TrueType fonts.

Reimplemented in OdGiContextForDbDatabase.

◆ xrefPropertiesOverride()

virtual bool OdGiContext::xrefPropertiesOverride ( ) const
virtual

Controls overriding of Xref properties.

Reimplemented in OdGiContextForDbDatabase.


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