BezierCurve
===========

.. py:module:: rhino3dm

.. py:class:: BezierCurve

   .. py:attribute:: Dimension

      int: Dimension of Bezier

   .. py:attribute:: IsValid

      bool: Tests an object to see if it is valid.

   .. py:attribute:: IsRational

      bool: Gets a value indicating whether or not the curve is rational.
      Rational curves have control-points with custom weights.

   .. py:attribute:: ControlVertexCount

      int: Number of control vertices in this curve

   .. py:method:: PointAt(t)

      Evaluates point at a curve parameter.

      :param float t: Evaluation parameter.

      :return: Point (location of curve at the parameter t).

      :rtype: rhino3dm.Point3d

   .. py:method:: TangentAt(t)

      Evaluates the unit tangent vector at a curve parameter.

      :param float t: Evaluation parameter.

      :return: Unit tangent vector of the curve at the parameter t.

      :rtype: rhino3dm.Vector3d

   .. py:method:: CurvatureAt(t)

      Evaluate the curvature vector at a curve parameter.

      :param float t: Evaluation parameter.

      :return: Curvature vector of the curve at the parameter t.

      :rtype: rhino3dm.Vector3d

   .. py:method:: ToNurbsCurve()

      Constructs a NURBS curve representation of this curve.

      :return: NURBS representation of the curve on success, None on failure.

      :rtype: rhino3dm.NurbsCurve

   .. py:method:: MakeRational()

      Make bezier rational

      :return: True if successful

      :rtype: bool

   .. py:method:: MakeNonRational()

      Make bezier non-rational

      :return: True if successful

      :rtype: bool

   .. py:method:: IncreaseDegree(desiredDegree)

      Increase degree of bezier

      :return: True if successful.  False if desiredDegree < current degree.

      :rtype: bool

   .. py:method:: ChangeDimension(desiredDimension)

      Change dimension of bezier.

      :return: True if successful.  False if desired_dimension < 1

      :rtype: bool

   .. py:method:: Split(t)

      Divides the Bezier curve at the specified parameter.

      :param float t: parameter must satisfy 0 < t < 1

      :return: True on success

      :rtype: bool
