CRhinoCommand::result CCommandTest::RunCommand( const CRhinoCommandContext& context ) { ON_3dPointArray points; points.Append( ON_3dPoint(0, 0, 0) ); points.Append( ON_3dPoint(0, 2, 0) ); points.Append( ON_3dPoint(2, 4, 0) ); points.Append( ON_3dPoint(4, 2, 0) ); points.Append( ON_3dPoint(4, 0, 0) ); ON_NurbsCurve* nc = ON_NurbsCurve::New(); nc->CreateClampedUniformNurbs( 3, 4, points.Count(), points ); if( nc->IsValid() ) { context.m_doc.AddCurveObject( *nc ); context.m_doc.Redraw(); } RhinoApp().ActiveDoc()->Redraw(); return CRhinoCommand::success; }
CRhinoCommand::result CCommandTest::RunCommand( const CRhinoCommandContext& context ) { ON_3dPointArray points; points.Append( ON_3dPoint(0, 0, 0) ); points.Append( ON_3dPoint(0, 2, 0) ); points.Append( ON_3dPoint(2, 4, 0) ); points.Append( ON_3dPoint(4, 2, 0) ); points.Append( ON_3dPoint(4, 0, 0) ); int dimension = 3; bool bIsRat = false; int order = 4; int cv_count = points.Count(); ON_NurbsCurve* nc = ON_NurbsCurve::New(dimension, bIsRat, order, cv_count); if( !nc ) return CRhinoCommand::failure; //Set CV points nc->ReserveCVCapacity( cv_count ); for( int i = 0; i < points.Count(); i++ ) { nc->SetCV(i, points[i] ); } //Set Knots nc->ReserveKnotCapacity( order+cv_count-2 ); ON_MakeClampedUniformKnotVector( order, cv_count, nc->m_knot ); if( nc->IsValid() ) { context.m_doc.AddCurveObject( *nc ); context.m_doc.Redraw(); } RhinoApp().ActiveDoc()->Redraw(); return CRhinoCommand::success; }
Public Overrides Function RunCommand(ByVal context As RMA.Rhino.IRhinoCommandContext)_ As RMA.Rhino.IRhinoCommand.result Dim CPoints As New List(Of On3dPoint) CPoints.Add(New On3dPoint(0, 0, 0)) CPoints.Add(New On3dPoint(0, 2, 0)) CPoints.Add(New On3dPoint(2, 4, 0)) CPoints.Add(New On3dPoint(4, 2, 0)) CPoints.Add(New On3dPoint(4, 0, 0)) Dim dimension As Integer = 3 Dim order As Integer = 4 Dim nc As New OnNurbsCurve nc.CreateClampedUniformNurbs(dimension, order, CPoints.ToArray()) If (nc.IsValid()) Then context.m_doc.AddCurveObject(nc) context.m_doc.Redraw() End If Return IRhinoCommand.result.success End Function
Public Overrides Function RunCommand(ByVal context As RMA.Rhino.IRhinoCommandContext)_ As RMA.Rhino.IRhinoCommand.result Dim i As Integer Dim CPoints As New List(Of On3dPoint) CPoints.Add(New On3dPoint(0, 0, 0)) CPoints.Add(New On3dPoint(0, 2, 0)) CPoints.Add(New On3dPoint(2, 4, 0)) CPoints.Add(New On3dPoint(4, 2, 0)) CPoints.Add(New On3dPoint(4, 0, 0)) Dim dimension As Integer = 3 Dim bIsRational As Boolean = False Dim order As Integer = 4 Dim cv_count As Integer = CPoints.Count() Dim nc As New OnNurbsCurve(dimension, bIsRational, order, cv_count) 'Set CV Points nc.ReserveCVCapacity(cv_count) For i = 0 To cv_count - 1 nc.SetCV(i, CPoints(i)) Next 'Set Knots nc.ReserveKnotCapacity(order + cv_count - 2) nc.MakeClampedUniformKnotVector() If (nc.IsValid()) Then context.m_doc.AddCurveObject(nc) context.m_doc.Redraw() End If Return IRhinoCommand.result.success End Function