- UID
- 24292
- 积分
- 172
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-1-7
- 最后登录
- 1970-1-1
|
发表于 2005-1-12 09:53:45
|
显示全部楼层
AcGeCircArc2d类
表示2D空间中的圆和圆弧。
继承自
AcGeCurve2d
包含文件
gearc2d.h
参见
AcGeTol
成员
AcGeCircArc2d建构器和析构器
AcGeCircArc2d::AcGeCircArc2d Function
AcGeCircArc2d(
const AcGeCircArc2d& arc);
arc
输入任意的2D弧线
建构一条与输入弧线相同的2D弧线。
--------------------------------------------------------------------------------
AcGeCircArc2d(
const AcGePoint2d& cent,
double radius);
cent
输入圆的中心
radius
输入圆的半径
以输入的圆心和半径建构一圆。半径一定不为0。
--------------------------------------------------------------------------------
AcGeCircArc2d(
const AcGePoint2d& cent,
double radius,
double startAngle,
double endAngle,
const AcGeVector2d& refVec = AcGeVector2d::kXAxis,
Adesk::Boolean isClockWise = Adesk::kFalse);
cent
输入圆弧的中心
radius
输入圆弧的半径
startAngle
输入圆弧起点角度
endAngle
输入圆弧终点角度
refVec
输入测量圆弧角度的参考向量
isClockWise
输入圆弧方向
以指定的中心、半径、起始角度和终止角度建构一圆弧。以弧线上的一点和中心点作一向量,并以该向量和参考向量(refVec)来测量角度。最后一个参数指定角度是顺时针还是逆时针。终止角度必须比起始角度大。若要建构一个圆,则终止角度和起始角度之差为2 x Pi。
--------------------------------------------------------------------------------
AcGeCircArc2d(
const AcGePoint2d& startPoint,
const AcGePoint2d& point,
const AcGePoint2d& endPoint);
startPoint
输入弧线的起始点
point
输入弧线上的点
endPoint
输入弧线的终止点
通过这三点建构一弧线。不论这三点是重复的还是共线的。这个建构器只能建构弧线,不能用于建构圆。
--------------------------------------------------------------------------------
AcGeCircArc2d(
const AcGePoint2d& startPoint,
const AcGePoint2d& endPoint,
double bulge,
Adesk::Boolean bulgeFlag = Adesk::kTrue);
startPoint
输入弧线的起始点
endPoint
输入弧线的终止点
bulge
输入凸起部分的距离
bulgeFlag
输入如何说明弧线凸起部分距离的计算
以指定的起点和终点建构一圆弧。如果连接起点和终点,那么连线到建构圆弧的中点的距离等于凸起部分的距离。建构弧线的方向总是逆时针。起始点必须不同于终止点。这个建构器只能建构边界弧线而不能用于建构圆。如果“bulgeFlag”是Adesk::kTrue,则说明“bulge”是弧线和两输入点连线间最大的距离。如果“bulgeFlag”是Adesk::kFalse,则说明“bulge”是含有角度(tan(ang/4))1/4的正切值,“ang”是输入两点间弧段的角度。
--------------------------------------------------------------------------------
AcGeCircArc2d();
缺省建构器。以中心(0,0)和半径1建构圆。
AcGeCircArc2d几何访问函数
AcGeCircArc2d::center Function
AcGePoint2d
center() const;
返回弧线的中心点。
AcGeCircArc2d::endAng Function
double
endAng() const;
和参考向量相关的弧线终止点角度。
AcGeCircArc2d::endPoint Function
AcGePoint2d
endPoint() const;
弧线终止点。
AcGeCircArc2d::isClockWise Function
Adesk::Boolean
isClockWise() const;
返回弧线是否绕顺时针方向。
AcGeCircArc2d::radius Function
double
radius() const;
返回弧线半径。
AcGeCircArc2d::refVec Function
AcGeVector2d
refVec() const;
返回弧线的参考向量。参考向量是从弧线起点和终点测量的向量。这个函数总是返回一个单位向量。
AcGeCircArc2d::startAng Function
double
startAng() const;
和参考向量相关的弧线起始点角度
AcGeCircArc2d::startPoint Function
AcGePoint2d
startPoint() const;
弧线起始点。
AcGeCircArc2d交集函数
AcGeCircArc2d::intersectWith Function
Adesk::Boolean
intersectWith(
const AcGeLinearEnt2d& line,
int& intn,
AcGePoint2d& p1,
AcGePoint2d& p2,
const AcGeTol& tol = AcGeContext::gTol) const;
line
输入任意2D实体直线
intn
输入相交点数目
p1
输入第一个相交点
p2
输入第二个相交点
tol
输入交点切线公差
确定弧线是否与输入直线相交。如果这个函数返回Adesk::kTrue,则“intn”设置为1或2,否则设置为0。“p1”含有特定数据仅当“intn”大于0时且“p2”含有特定数据仅当“intn”大于1时。
--------------------------------------------------------------------------------
Adesk::Boolean
intersectWith(
const AcGeCircArc2d& arc,
int& intn,
AcGePoint2d& p1,
AcGePoint2d& p2,
const AcGeTol& tol = AcGeContext::gTol) const;
arc
输入任意2D弧线
intn
输入相交点数目
p1
输入第一个相交点
p2
输入第二个相交点
tol
输入交点切线公差
确定弧线是否与输入弧线相交。如果这个函数返回Adesk::kTrue,则“intn”设置为1或2,否则设置为0。“p1”含有特定数据仅当“intn”大于0时且“p2”含有特定数据仅当“intn”大于1时。
AcGeCircArc2d杂项函数
AcGeCircArc2d::isInside Function
Adesk::Boolean
isInside(
const AcGePoint2d& pnt,
const AcGeTol& tol = AcGeContext::gTol) const;
pnt
输入任意2D点
tol
输入公差
确定输入点是否在弧线内。这个函数视弧线为圆,不管弧线边界,并判断输入点是否在圆内。如果点在圆上或在圆外返回值Adesk::kFalse。
AcGeCircArc2d::tangent Function
Adesk::Boolean
tangent(
const AcGePoint2d& pnt,
AcGeLine2d& line,
const AcGeTol& tol = AcGeContext::gTol) const;
pnt
输入在圆上的点
Line
如果函数返回Adesk::kTrue,则添入返回的切线
tol
输入公差
如果输入点在弧线所在的圆上,则返回Adesk::kTrue,否则返回Adesk::kFalse。如果返回Adesk::kTrue,则直线设置为圆上在输入点位置的切线。
--------------------------------------------------------------------------------
Adesk::Boolean
tangent(
const AcGePoint2d& pnt,
AcGeLine2d& line,
const AcGeTol& tol,
AcGeError& error) const;
pnt
输入在圆上的点
line
如果函数返回Adesk::kTrue,则添入返回的切线
tol
输入公差
error
返回AcGeError值表示为什么出错
如果输入点在弧线所在的圆上,则返回Adesk::kTrue,否则返回Adesk::kFalse。如果返回Adesk::kTrue,则直线设置为圆上在输入点位置的切线。如果返回Adesk::kFalse,则“error”值将设置为下面这些值表示为什么出错:kArg1TooBig,kArg1InsideThis或kArg1OnThis。
AcGeCircArc2d操作符
AcGeCircArc2d::operator = Function
AcGeCircArc2d &
operator =(
const AcGeCircArc2d& arc);
arc
输入任意2D弧线
将输入弧线分配到原弧线。
AcGeCircArc2d 设定函数
AcGeCircArc2d::set Function
AcGeCircArc2d &
set(
const AcGePoint2d& cent,
double radius);
cent
输入圆的中心
radius
输入圆的半径
修改弧线的定义以获得指定中心和半径的圆。这个函数总是返回一个圆。
--------------------------------------------------------------------------------
AcGeCircArc2d &
set(
const AcGePoint2d& startPoint,
const AcGePoint2d& pnt,
const AcGePoint2d& endPoint);
startPoint
输入弧线的起始点
pnt
输入弧线上的点
endPoint
输入弧线的终止点
修改弧线的定义以获得指定起点、终点和通过“pnt”点的弧线。不论这三点是重复的还是共线的。这个函数总是返回边界弧线。
--------------------------------------------------------------------------------
AcGeCircArc2d &
set(
const AcGePoint2d& startPoint,
const AcGePoint2d& pnt,
const AcGePoint2d& endPoint,
AcGeError& error);
startPoint
输入弧线的起始点
pnt
输入弧线上的点
endPoint
输入弧线的终止点
error
返回AcGeError值表示为什么出错
修改弧线的定义以获得指定起点、终点和通过“pnt”点的弧线。不论这三点是重复的还是共线的。这个函数总是返回边界弧线。 “error”值将设置为下面这些值表示为什么出错:kEqualArg1Arg2, kEqualArg1Arg3, kEqualArg2Arg3,或kLinearlyDependentArg1Arg2Arg3.
--------------------------------------------------------------------------------
AcGeCircArc2d &
set(
const AcGePoint2d& startPoint,
const AcGePoint2d& endPoint,
double bulge,
Adesk::Boolean bulgeFlag = Adesk::kTrue);
startPoint
输入弧线的起始点
endPoint
输入弧线的终止点
bulge
输入凸起部分的距离
bulgeFlag
输入如何说明弧线凸起部分距离的计算
修改弧线的定义以获得指定的起点、终点和凸起部分的距离的圆弧。如果连接起点和终点,那么连线到建构圆弧的中点的距离等于凸起部分的距离。弧线的方向将变为逆时针,不论原方向如何。起始点必须不同于终止点。如果“bulgeFlag”是Adesk::kTrue,则说明“bulge”是弧线和两输入点连线间最大的距离。如果“bulgeFlag”是Adesk::kFalse,则说明“bulge”是含有角度(tan(ang/4))1/4的正切值,“ang”是输入两点间弧段的角度。这个函数总是返回一条边界弧线。
--------------------------------------------------------------------------------
AcGeCircArc2d &
set(
const AcGeCurve2d& curve1,
const AcGeCurve2d& curve2,
double radius,
double& param1,
double& param2,
Adesk::Boolean& success);
curve1
输入任意2D曲线1
curve2
输入任意2D曲线2
radius
输入弧线半径
param1
输入曲线1上弧线的高程曲线参数值
param2
输入曲线2上弧线的高程曲线参数值
success
输出表示计算弧线是否成功
修改弧线的定义使弧线与两条输入曲线相切并含有指定半径。这个函数总是返回弧线,弧线的终点是和“param1”与“param2”相符的两输入曲线上的点。如果函数返回“success”的值是Adesk::kFalse,则函数未改变对象。
--------------------------------------------------------------------------------
AcGeCircArc2d &
set(
const AcGeCurve2d& curve1,
const AcGeCurve2d& curve2,
const AcGeCurve2d& curve3,
double& param1,
double& param2,
double& param3,
Adesk::Boolean& success);
curve1
输入任意2D曲线1
curve2
输入任意2D曲线2
Curve3
输入任意2D曲线3
radius
输入弧线半径
param1
输入曲线1上弧线的高程曲线参数值
param2
输入曲线2上弧线的高程曲线参数值
Param3
输入曲线3上弧线的高程曲线参数值
success
输出表示计算弧线是否成功
修改弧线的定义使弧线与三条输入曲线相切。这个函数总是返回圆。如果函数返回“success”的值是Adesk::kFalse,则函数未改变对象。
--------------------------------------------------------------------------------
AcGeCircArc2d &
set(
const AcGePoint2d& cent,
double radius,
double ang1,
double ang2,
const AcGeVector2d& refVec = AcGeVector2d::kXAxis,
Adesk::Boolean isClockWise = Adesk::kFalse);
cent
输入圆的中心
radius
输入圆的半径
ang1
输入弧线起始点角度
ang2
输入弧线终止点角度
refVec
输入测量弧线角度的参考向量
isClockWise
输入弧线方向
修改弧线的定义以获得指定中心、半径、起始角度和终止角度的圆弧。以弧线上的一点和中心点作一向量,并以该向量和参考向量(refVec)来测量角度。最后一个参数指定角度是顺时针还是逆时针。终止角度必须比起始角度大。若要建构一个圆,则终止角度和起始角度之差为2 x Pi。
AcGeCircArc2d::setAngles Function
AcGeCircArc2d &
setAngles(
double startAng,
double endAng);
startAng
输入弧线的起始角度
endAng
输入弧线的终止角度
修改弧线的起始角度和终止角度为指定的角度。
AcGeCircArc2d::setCenter Function
AcGeCircArc2d &
setCenter(
const AcGePoint2d& cent);
cent
输入弧线的中心
修改弧线的中心点为指定点。
AcGeCircArc2d::setRadius Function
AcGeCircArc2d &
setRadius(
double radius);
radius
输入弧线的半径
修改弧线的半径为输入半径。
AcGeCircArc2d::setRefVec Function
AcGeCircArc2d &
setRefVec(
const AcGeVector2d& vec);
vec
输入弧线的参考向量
修改弧线的参考向量为指定向量。由于弧线起始角度和终止角度的测量是以参考向量为基准的,因此该函数对绕中心点旋转的弧线有作用。
AcGeCircArc2d::setToComplement Function
AcGeCircArc2d &
setToComplement();
在保持边界弧线起始点和终止点时,翩转弧线的方向,该函数返回原弧线的余角。 |
|