ON_BOOL32 ON_Geometry::Translate( const ON_3dVector& delta ) { if ( delta.IsZero() ) return true; ON_Xform tr; tr.Translation( delta ); return Transform( tr ); }
static bool ON_BrepExtrudeHelper_CheckPathCurve( const ON_Curve& path_curve, ON_3dVector& path_vector ) { ON_Line path_line; path_line.from = path_curve.PointAtStart(); path_line.to = path_curve.PointAtEnd(); path_vector = path_line.Direction(); return ( path_vector.IsZero() ? false : true ); }
bool ON_Line::InPlane( ON_Plane& plane, double tolerance ) const { const ON_3dVector v = to-from; const bool bTinyX = fabs(v.x) <= tolerance; const bool bTinyY = fabs(v.y) <= tolerance; const bool bTinyZ = fabs(v.z) <= tolerance; bool rc = true; ON_3dVector X; ON_3dVector Y; if ( bTinyZ && ( !bTinyX || !bTinyY ) ) { X = ON_xaxis; Y = ON_yaxis; } else if ( bTinyX && ( !bTinyY || !bTinyZ ) ) { X = ON_yaxis; Y = ON_zaxis; } else if ( bTinyY && ( !bTinyZ || !bTinyX ) ) { X = ON_zaxis; Y = ON_xaxis; } else { X = v; X.Unitize(); Y.PerpendicularTo(X); if ( bTinyX && bTinyY && bTinyZ ) { rc = false; if ( X.IsZero() ) { X = ON_xaxis; Y = ON_yaxis; } } } plane.CreateFromFrame( from, X, Y ); return rc; }