本文整理汇总了C++中ON_Plane::Origin方法的典型用法代码示例。如果您正苦于以下问题:C++ ON_Plane::Origin方法的具体用法?C++ ON_Plane::Origin怎么用?C++ ON_Plane::Origin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ON_Plane
的用法示例。
在下文中一共展示了ON_Plane::Origin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RunCommand
//.........这里部分代码省略.........
ON_3dPoint point1((pointEnd.x + antLen*cos(alphaAngle*acos(-1.0)/180.0)), 0.0, (pointEnd.z - antLen*sin(alphaAngle*acos(-1.0)/180.0)));
/**********************************/
/*CREATE THE LINE CURVES TO FILLET*/
/**********************************/
ON_LineCurve curve0( pointStart, point0 ); //LINEA A SINISTRA IN FRONT VIEW
ON_LineCurve curve1( point1, pointEnd ); //LINEA A DESTRA IN FRONT VIEW
/***************************************************/
/*FILLET AT THE END/START POINTS OF THE LINE CURVES*/
/***************************************************/
double curve0_t = crv0->Domain().Max();
double curve1_t = curve1.Domain().Min();
ON_3dPoint PuntoAltezzaTacco = curve1.m_line.to;
AltezzaTacco = PuntoAltezzaTacco;
if( RhinoGetFilletPoints(curve1, *crv0, antRad, curve1_t, curve0_t, t1, t0, plane) )
{
/*******************************/
/*TRIM BACK THE TWO LINE CURVES*/
/*******************************/
ON_Interval domain1( curve1.Domain().Min(), t1 );
curve1.Trim( domain1 );
ON_Interval domain0( crv0->Domain().Min(), t0 );
crv0->Trim( domain0 );
/**************************/
/*COMPUTE THE FILLET CURVE*/
/**************************/
ON_3dVector radial0 = curve1.PointAt(t1) - plane.Origin();
radial0.Unitize();
ON_3dVector radial1 = crv0->PointAt(t0) - plane.Origin();
radial1.Unitize();
double angle = acos( radial0 * radial1 );
ON_Plane fillet_plane( plane.Origin(), radial0, radial1 );
ON_Arc fillet( fillet_plane, plane.Origin(), antRad, angle );
/******************/
/*ADD THE GEOMETRY*/
/******************/
context.m_doc.AddCurveObject( curve1 );
context.m_doc.ReplaceObject(objref, *crv0 );
context.m_doc.AddCurveObject( fillet );
context.m_doc.Redraw();
}
t0 = 0.0, t1 = 0.0;
/*FILLET AT THE START POINTS OF THE LINE CURVES*/
curve0_t = crv0->Domain().Min();
curve1_t = curve0.Domain().Min();
if( RhinoGetFilletPoints(curve0, *crv0, posRad, curve1_t, curve0_t, t1, t0, plane) )
{
// Trim back the two line curves
ON_Interval domain0( t1, curve0.Domain().Max() );
curve0.Trim( domain0 );
ON_Interval domain1( t0, crv0->Domain().Max() );
crv0->Trim( domain1 );