gen_ellipse_contour_xld gen_ellipse_contour_xld GenEllipseContourXld GenEllipseContourXld gen_ellipse_contour_xld (算子)
名称
gen_ellipse_contour_xld gen_ellipse_contour_xld GenEllipseContourXld GenEllipseContourXld gen_ellipse_contour_xld — 创建与椭圆弧对应的 XLD 轮廓。
签名
Herror gen_ellipse_contour_xld (Hobject* ContEllipse , double Row , double Column , double Phi , double Radius1 , double Radius2 , double StartPhi , double EndPhi , const char* PointOrder , double Resolution )
Herror T_gen_ellipse_contour_xld (Hobject* ContEllipse , const Htuple Row , const Htuple Column , const Htuple Phi , const Htuple Radius1 , const Htuple Radius2 , const Htuple StartPhi , const Htuple EndPhi , const Htuple PointOrder , const Htuple Resolution )
void GenEllipseContourXld (HObject* ContEllipse , const HTuple& Row , const HTuple& Column , const HTuple& Phi , const HTuple& Radius1 , const HTuple& Radius2 , const HTuple& StartPhi , const HTuple& EndPhi , const HTuple& PointOrder , const HTuple& Resolution )
void HXLDCont ::GenEllipseContourXld (const HTuple& Row , const HTuple& Column , const HTuple& Phi , const HTuple& Radius1 , const HTuple& Radius2 , const HTuple& StartPhi , const HTuple& EndPhi , const HTuple& PointOrder , double Resolution )
void HXLDCont ::GenEllipseContourXld (double Row , double Column , double Phi , double Radius1 , double Radius2 , double StartPhi , double EndPhi , const HString& PointOrder , double Resolution )
void HXLDCont ::GenEllipseContourXld (double Row , double Column , double Phi , double Radius1 , double Radius2 , double StartPhi , double EndPhi , const char* PointOrder , double Resolution )
void HXLDCont ::GenEllipseContourXld (double Row , double Column , double Phi , double Radius1 , double Radius2 , double StartPhi , double EndPhi , const wchar_t* PointOrder , double Resolution )
(
Windows only)
static void HOperatorSet .GenEllipseContourXld (out HObject contEllipse , HTuple row , HTuple column , HTuple phi , HTuple radius1 , HTuple radius2 , HTuple startPhi , HTuple endPhi , HTuple pointOrder , HTuple resolution )
void HXLDCont .GenEllipseContourXld (HTuple row , HTuple column , HTuple phi , HTuple radius1 , HTuple radius2 , HTuple startPhi , HTuple endPhi , HTuple pointOrder , double resolution )
void HXLDCont .GenEllipseContourXld (double row , double column , double phi , double radius1 , double radius2 , double startPhi , double endPhi , string pointOrder , double resolution )
描述
gen_ellipse_contour_xld gen_ellipse_contour_xld GenEllipseContourXld GenEllipseContourXld GenEllipseContourXld gen_ellipse_contour_xld creates one or more elliptic arcs or
closed ellipses. Ellipses are specified by their center
(Row Row Row Row row row , Column Column Column Column column column ), the orientation of the main axis
Phi Phi Phi Phi phi phi , the length of the larger half axis
Radius1 Radius1 Radius1 Radius1 radius1 radius_1 , and the length of the smaller half
axis Radius2 Radius2 Radius2 Radius2 radius2 radius_2 .
In addition to that, elliptic arcs are characterized by the angle
of the start point StartPhi StartPhi StartPhi StartPhi startPhi start_phi , the angle of the end point
EndPhi EndPhi EndPhi EndPhi endPhi end_phi , and the point order PointOrder PointOrder PointOrder PointOrder pointOrder point_order along the
boundary.
Both the angle of the start point and the angle of the end point are
measured from the positive main axis specified with Phi Phi Phi Phi phi phi .
They correspond to the smallest surrounding circle of the ellipse.
The actual start and end point of the ellipse is the intersection of
the ellipse with the orthogonal projection of the corresponding circle
point onto the main axis.
Both angles refer to the coordinate system of the ellipse, i.e.
relative to the main axis and in a mathematical positive direction.
Thus, the two main poles correspond to the angles 0 and
, the two minor poles to the angles
and
. To create a closed ellipse
the values 0 and
(with positive
point order) have to be passed to the operator. All angles Phi Phi Phi Phi phi phi ,
StartPhi StartPhi StartPhi StartPhi startPhi start_phi , EndPhi EndPhi EndPhi EndPhi endPhi end_phi take arbitrary values and are mapped
internally to the interval
.
The resolution of the resulting contours ContEllipse ContEllipse ContEllipse ContEllipse contEllipse cont_ellipse is
controlled via Resolution Resolution Resolution Resolution resolution resolution containing the maximum Euclidean
distance between neighboring contour points. The resolution is set
to the smallest valid value, if the input value falls below this
value.
执行信息
多线程类型:可重入(与非独占算子并行运行)。
多线程作用域:全局(可从任何线程调用)。
未采用并行化处理。
参数
ContEllipse ContEllipse ContEllipse ContEllipse contEllipse cont_ellipse (输出对象) xld_cont(-array) → object HXLDCont HObject HXLDCont Hobject *
Resulting contour.
Row Row Row Row row row (输入控制) ellipse.center.y(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Row coordinate of the center of the ellipse.
默认值:
200.0
Column Column Column Column column column (输入控制) ellipse.center.x(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Column coordinate of the center of the ellipse.
默认值:
200.0
Phi Phi Phi Phi phi phi (输入控制) ellipse.angle.rad(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
主轴方向 [弧度]。
默认值:
0.0
Radius1 Radius1 Radius1 Radius1 radius1 radius_1 (输入控制) ellipse.radius1(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Length of the larger half axis.
默认值:
100.0
限制:
Radius1 > 0
Radius2 Radius2 Radius2 Radius2 radius2 radius_2 (输入控制) ellipse.radius2(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Length of the smaller half axis.
默认值:
50.0
限制:
Radius2 >= 0 && Radius2 <= Radius1
StartPhi StartPhi StartPhi StartPhi startPhi start_phi (输入控制) angle.rad(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Angle of the start point on the smallest surrounding circle
[rad].
默认值:
0.0
EndPhi EndPhi EndPhi EndPhi endPhi end_phi (输入控制) angle.rad(-array) → HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Angle of the end point on the smallest surrounding circle
[rad].
默认值:
6.28318
PointOrder PointOrder PointOrder PointOrder pointOrder point_order (输入控制) string(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
point order along the boundary.
默认值:
'positive'
"positive"
"positive"
"positive"
"positive"
"positive"
值列表:
'negative' "negative" "negative" "negative" "negative" "negative" , 'positive' "positive" "positive" "positive" "positive" "positive"
Resolution Resolution Resolution Resolution resolution resolution (输入控制) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Resolution: Maximum distance between neighboring
contour points.
默认值:
1.5
限制:
Resolution >= 1.192e-7
示例(HDevelop)
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
'positive',1.5)
length_xld(Ellipse,Length)
* Transform StartPhi so that the start point of the ellipse actually
* intersects the line through origin at the angle StartPhi measured from
* the positive main axis
affine_trans_point_2d ([1.0,0.0,0.0,0.0,1.0*Radius2/Radius1,0.0], \
sin(StartPhi), cos(StartPhi), Qx, Qy)
StartPhiEllipse := atan2(Qx,Qy)
示例(C)
draw_ellipse(WindowHandle,&Row,&Column,&Phi,&Radius1,&Radius2);
gen_ellipse_contour_xld(&Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319,
"positive");
length_xld(Ellipse,&Length);
示例(HDevelop)
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
'positive',1.5)
length_xld(Ellipse,Length)
* Transform StartPhi so that the start point of the ellipse actually
* intersects the line through origin at the angle StartPhi measured from
* the positive main axis
affine_trans_point_2d ([1.0,0.0,0.0,0.0,1.0*Radius2/Radius1,0.0], \
sin(StartPhi), cos(StartPhi), Qx, Qy)
StartPhiEllipse := atan2(Qx,Qy)
示例(HDevelop)
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
'positive',1.5)
length_xld(Ellipse,Length)
* Transform StartPhi so that the start point of the ellipse actually
* intersects the line through origin at the angle StartPhi measured from
* the positive main axis
affine_trans_point_2d ([1.0,0.0,0.0,0.0,1.0*Radius2/Radius1,0.0], \
sin(StartPhi), cos(StartPhi), Qx, Qy)
StartPhiEllipse := atan2(Qx,Qy)
示例(HDevelop)
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
'positive',1.5)
length_xld(Ellipse,Length)
* Transform StartPhi so that the start point of the ellipse actually
* intersects the line through origin at the angle StartPhi measured from
* the positive main axis
affine_trans_point_2d ([1.0,0.0,0.0,0.0,1.0*Radius2/Radius1,0.0], \
sin(StartPhi), cos(StartPhi), Qx, Qy)
StartPhiEllipse := atan2(Qx,Qy)
结果
gen_ellipse_contour_xld gen_ellipse_contour_xld GenEllipseContourXld GenEllipseContourXld GenEllipseContourXld gen_ellipse_contour_xld 在所有参数值正确时返回 2 (H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
draw_ellipse draw_ellipse DrawEllipse DrawEllipse DrawEllipse draw_ellipse
可能的后继
disp_xld disp_xld DispXld DispXld DispXld disp_xld ,
get_points_ellipse get_points_ellipse GetPointsEllipse GetPointsEllipse GetPointsEllipse get_points_ellipse
替代
gen_circle_contour_xld gen_circle_contour_xld GenCircleContourXld GenCircleContourXld GenCircleContourXld gen_circle_contour_xld
模块
基础