AcGiContext

 

这个环境可以认为是重生的根对象(root object)。一个AcGiContext的实例,即衍生类在一个给定的重生(regen)中作为一个参照的点。它可以由AcGiWorldDrawAcGiViewportDraw访问,因此对客户总是有效的。

AcGiContext传递给viewportDraw()返回的AcGiContext实例,与把AcGiWorldDraw传递给先前对worldDraw()的调用返回的实例相同。

 

继承自

AcRxObject

 

包含文件

acgi.h

 

成员

 

AcGiContext函数

 

AcGiContext::byBlockLineWeight函数

inline virtual AcDb::LineWeight

byBlockLineWeight() const;

返回线宽,当随块线宽被指定时则被使用。但这不包括由任何当前的绘图样式导致的绘图管道中的变化。

AcGiContext::byBlockPlotStyleNameId

函数

inline virtual AcDbObjectId

byBlockPlotStyleNameId() const;

此函数返回绘图样式,当随块绘图样式被指定时则被使用。

AcGiContext::database函数

virtual AcDbDatabase *

database() const = 0;

每个重生都关联一个特定的数据库,如果由于某些原因一个对象需要查询数据库则可使用之。这与使用由AcDbObject::database()方法返回的数据库形成对比。

此函数返回的指针指向当前的数据库并保证不为NULL

AcGiContext::disableFastMoveDrag函数

inline virtual void

disableFastMoveDrag() const;

在平面变换中,一个图形系统可能保持图形图元(primitive)的缓存并对这些图元进行变换,而不要重新查询对象。这对许多对象都实现地很好。然而当一个对象不执行这样的一个变换,但执行其他的操作时,则拖动的图像就不能表示对象的真实状态。通过调用这个方法,对象要求对每一次变换都要进行查询。

如果对象平移变换(MOVE)需要重画,可以强制系统为当前拖动中的所有对象重新请求作图。仅当确实需要时才使用这个选项,例如,如果对象在MOVE拖动中每一步都需要更新时。

默认的实现只是一个残留部分。

注意:这个标记仅用于优化视觉效果,可以任意地被图形系统忽略。

AcGiContext::effectiveColor函数

inline virtual AcCmEntityColor

effectiveColor() const;

此函数返回在这个点上用于绘制一个图元(primitive)使用的颜色,并完成任何随层和随块的计算。这不包括由任何当前绘图样式导致的绘图管道中的任何改变。

AcGiContext::isBoundaryClipping函数

virtual bool

isBoundaryClipping() const = 0;

如果当前边界裁剪激活则返回true。这表明任何所画的图元都将以边界裁剪。如果这个AcGi版本支持裁剪但当前没有激活的裁剪边界,则返回false

AcGiContext::isNesting函数

inline virtual bool

isNesting() const;

如果系统在重生一个复合的对象则返回true。例如如果当前对象包含在一个块中,返回值为true。如果对象直接处于模型空间中,则返回值为false

AcGiContext::isPlotGeneration函数

virtual Adesk::Boolean

isPlotGeneration() const = 0;

如果regen用于硬拷贝输出则返回Adesk::kTrue;否则返回Adesk::kFalse

AcGiContext::isPsOut函数

virtual Adesk::Boolean

isPsOut() const = 0;

如果regen用于PostScript输出则返回Adesk::kTrue;否则返回Adesk::kFalse

AcGiContext::supportsTrueTypeText函数

inline virtual bool

supportsTrueTypeText();

如果当前运行的AcGi支持Truetype字体表示则返回truefalse的返回值表示对任何用一个Truetype字体指定的文字设备都不使用基于笔划的字体。

AcGiContext TrueType Text函数

AcGiContext::bypassHiddenLineRemoval函数

inline virtual void

bypassHiddenLineRemoval();

未公布

AcGiContext::drawTrueTypeText函数

inline virtual int

drawTrueTypeText(

const char * unnamed1,

double unnamed2,

int unnamed3,

bool unnamed4,

const TextParams & unnamed5,

unsigned int unnamed6);

unnamed1

输入文本字符串

unnamed2

输入文本字符串的厚度(沿Z轴方向拉伸)

unnamed3

输入要绘出的字符串的长度,或者用-1代表绘出整个字符串

unnamed4

输入false以在绘出字符串之前处理文本中的ACAD的转义字符

unnamed5

输入包含文本大小和间距信息的数据结构

unnamed6

输入字符集

绘出输入的TrueType字符串,成功返回1,失败返回0

AcGiContext::getTrueTypeBoundingBox函数

inline virtual int

getTrueTypeBoundingBox(

const AcGePoint3d const & location,

const unsigned short const * text,

int length,

const TextParams const * tp,

AcGePoint3d * bbox,

float * char_widths);

location

输入字符串的位置(WCS)

text

输入字符串(Unicode字符,而不是char)

length

输入字符串的长度

tp

输入包含文本大小和间距的结构信息。

bbox

输出在WCS下的文本边框

char_widths

根据模型的坐标,输出当前字体下每个字符宽度的数组

getTrueTypeBoundingBox() 函数取得一个Unicode字符串的边框和字符串中每个字符宽度的数组。边框是以世界坐标系表达的。字符宽度是以与字体相关的模型坐标表达的。loadTrueFone()函数返回的FontInfo结构中的信息可用于转换至模型坐标。这个方法成功时返回0,失败时返回-1

AcGiContext::getTrueTypeTextExtents函数

inline virtual int

getTrueTypeTextExtents(

const char const * unnamed1,

unsigned int unnamed2,

double unnamed3,

int unnamed4,

int unnamed5,

int unnamed6,

short unnamed7,

short unnamed8,

double unnamed9,

double unnamed10,

AcGePoint2d & unnamed11,

AcGePoint2d & unnamed12);

unnamed1

输入文本字符串

unnamed2

输入字符集

unnamed3

输入字符高度

unnamed4

如果输入非零,则在范围计算中包括penups

unnamed5

输入要范围计算的字符串长度,输入-1则使用整个字符串

unnamed6

输入零值以在计算范围之前处理文本中的ACAD转义字符

unnamed7

输入下表中掩码值用于文本处理:

Value

Meaning

0x01

文本垂直书写

0x02

镜像文本在X方向

0x04

镜像文本在Y方向

0x08

文本带下划线

0x10

文本中间划一条线

unnamed8

输入文本样式符号表中的文本样式的索引值

unnamed9

输入文本的宽度尺度系数

unnamed10

输入文本的倾斜角度

unnamed11

Output minimum extents point

unnamed12

输出最大范围点

这个方法取得一个TrueType文本字符串的范围。这个范围以实体坐标返回。此函数成功则返回0,失败返回-1

AcGiContext::loadTrueTypeFont函数

inline virtual long

loadTrueTypeFont(

const char * unnamed1,

bool unnamed2,

bool unnamed3,

int unnamed4,

int unnamed5,

FontInfo & unnamed6);

unnamed1

输入要加载的字体名

unnamed2

输入true以加载字体的粗体支持

unnamed3

输入true以加载字体的斜体支持

unnamed4

输入一个字符集索引并加载之。如果输入值为-1,使用默认的字符集

unnamed5

输入使用的字符密度(每英寸字符数)

unnamed6

输入存有字体信息的FontInfo数据结构

此方法向图形系统中加载一个TrueType字体。执行成功时返回所加载字体的指针,失败时返回NULL

AcGiContext::restoreTrueTypeTransform函数

inline virtual int

restoreTrueTypeTransform();

restoreTrueTypeTransform()函数撤消由之前调用AcGiContext::setTrueTypeTransform()建立的变换集。即此函数弹出了变换栈。函数执行成功返回1,失败返回0

AcGiContext::setTextStyle函数

virtual int

setTextStyle(

int unnamed);

unnamed

未公布

未公布

AcGiContext::setTrueTypeTransform函数

inline virtual int

setTrueTypeTransform(

const AcGePoint3d & unnamed1,

const AcGeVector3d & unnamed2,

double unnamed3,

double unnamed4,

double unnamed5,

bool unnamed6,

bool unnamed7);

unnamed1

输入文本位置(在WCS中)

unnamed2

输入文本的文本的法向矢量

unnamed3

输入文本的旋转角

unnamed4

输入文本的宽度

unnamed5

输入文本的倾斜角

unnamed6

输入true则在X方向镜像文本

unnamed7

输入true则在Y方向镜像文本

这个方法为绘出TrueType文本建立变换。调用这个函数必须相应地调用AcGiContext::restoreTrueTypeTransform()。此方法函数执行成功返回1,失败返回0

AcGiContext::wSegTaker函数

inline virtual AcGiWorldSegmentCallback

wSegTaker() const;

未公布