Class TLcdGML31BSpline

All Implemented Interfaces:
ILcdDataObject, ILcdBounded, ILcdCurve, ILcdShape, ILcdCloneable, ILcdDeepCloneable, ILcdFeatured, ILcdSelfDescribedFeatured, Serializable, Cloneable
Direct Known Subclasses:
TLcdGML31Bezier

public class TLcdGML31BSpline extends TLcdGML31AbstractCurveSegment
A B-Spline is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. Knots are breakpoints on the curve that connect its pieces. They are given as a non-decreasing sequence of real numbers. If the weights in the knots are equal then it is a polynomial spline. The degree is the algebraic degree of the basis functions.
Since:
10.0
See Also:
  • Field Details

    • INTERPOLATION_ATTR_PROPERTY

      public static final TLcdDataProperty INTERPOLATION_ATTR_PROPERTY
      Data property that maps to the interpolation attribute. The possible values for this property are instances of ELcdGML31CurveInterpolation.
    • IS_POLYNOMIAL_PROPERTY

      public static final TLcdDataProperty IS_POLYNOMIAL_PROPERTY
      Data property that maps to the isPolynomial attribute. The possible values for this property are instances of Boolean.
    • KNOT_TYPE_PROPERTY

      public static final TLcdDataProperty KNOT_TYPE_PROPERTY
      Data property that maps to the knotType attribute. The possible values for this property are instances of ELcdGML31KnotTypes.
    • POS_GROUP_PROPERTY

      public static final TLcdDataProperty POS_GROUP_PROPERTY
      Data property that maps to the choice between the pos and pointProperty and pointRep and posList and coordinates elements. The possible values for this property are instances of
    • DEGREE_PROPERTY

      public static final TLcdDataProperty DEGREE_PROPERTY
      Data property that maps to the degree element. The possible values for this property are instances of long.
    • KNOT_PROPERTY

      public static final TLcdDataProperty KNOT_PROPERTY
      Data property that maps to the knot element. The possible values for this property are instances of List<TLcdGML31KnotProperty>.
    • NUM_DERIVATIVE_INTERIOR_PROPERTY

      public static final TLcdDataProperty NUM_DERIVATIVE_INTERIOR_PROPERTY
      Data property that maps to the numDerivativeInterior attribute. The possible values for this property are instances of long.
    • NUM_DERIVATIVES_AT_END_PROPERTY

      public static final TLcdDataProperty NUM_DERIVATIVES_AT_END_PROPERTY
      Data property that maps to the numDerivativesAtEnd attribute. The possible values for this property are instances of long.
    • NUM_DERIVATIVES_AT_START_PROPERTY

      public static final TLcdDataProperty NUM_DERIVATIVES_AT_START_PROPERTY
      Data property that maps to the numDerivativesAtStart attribute. The possible values for this property are instances of long.
  • Constructor Details

    • TLcdGML31BSpline

      public TLcdGML31BSpline()
    • TLcdGML31BSpline

      public TLcdGML31BSpline(TLcdDataType aType)
  • Method Details

    • getInterpolationAttr

      public ELcdGML31CurveInterpolation getInterpolationAttr()
      Returns the value of the property that maps to the interpolation attribute.

      The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism uses the control points and control parameters to determine the position of this curve segment. For a BSpline the interpolation can be either "polynomialSpline" or "rationalSpline", default is "polynomialSpline".

      Returns:
      the value of the INTERPOLATION_ATTR_PROPERTY property.
    • setInterpolationAttr

      public void setInterpolationAttr(ELcdGML31CurveInterpolation aValue)
      Sets the value of the property that maps to the interpolation attribute.

      The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism uses the control points and control parameters to determine the position of this curve segment. For a BSpline the interpolation can be either "polynomialSpline" or "rationalSpline", default is "polynomialSpline".

      Parameters:
      aValue - the value to set for the INTERPOLATION_ATTR_PROPERTY property.
    • getIsPolynomial

      public Boolean getIsPolynomial()
      Returns the value of the property that maps to the isPolynomial attribute.

      The attribute isPolynomial is set to true if this is a polynomial spline.

      Returns:
      the value of the IS_POLYNOMIAL_PROPERTY property.
    • setIsPolynomial

      public void setIsPolynomial(Boolean aValue)
      Sets the value of the property that maps to the isPolynomial attribute.

      The attribute isPolynomial is set to true if this is a polynomial spline.

      Parameters:
      aValue - the value to set for the IS_POLYNOMIAL_PROPERTY property.
    • getKnotType

      public ELcdGML31KnotTypes getKnotType()
      Returns the value of the property that maps to the knotType attribute.

      The attribute "knotType" gives the type of knot distribution used in defining this spline. This is for information only and is set according to the different construction-functions.

      Returns:
      the value of the KNOT_TYPE_PROPERTY property.
    • setKnotType

      public void setKnotType(ELcdGML31KnotTypes aValue)
      Sets the value of the property that maps to the knotType attribute.

      The attribute "knotType" gives the type of knot distribution used in defining this spline. This is for information only and is set according to the different construction-functions.

      Parameters:
      aValue - the value to set for the KNOT_TYPE_PROPERTY property.
    • getPosGroup

      public Object getPosGroup()
      Returns the value of the property that maps to the choice between the pos and pointProperty and pointRep and posList and coordinates elements.

      The possible values for this property are instances of

      Returns:
      the value of the POS_GROUP_PROPERTY property.
    • setPosGroup

      public void setPosGroup(Object aValue)
      Sets the value of the property that maps to the choice between the pos and pointProperty and pointRep and posList and coordinates elements.

      The possible values for this property are instances of

      Parameters:
      aValue - the value to set for the POS_GROUP_PROPERTY property.
    • getDegree

      public long getDegree()
      Returns the value of the property that maps to the degree element.

      The attribute "degree" shall be the degree of the polynomial used for interpolation in this spline.

      Returns:
      the value of the DEGREE_PROPERTY property.
    • setDegree

      public void setDegree(long aValue)
      Sets the value of the property that maps to the degree element.

      The attribute "degree" shall be the degree of the polynomial used for interpolation in this spline.

      Parameters:
      aValue - the value to set for the DEGREE_PROPERTY property.
    • getKnot

      public List<TLcdGML31Knot> getKnot()
      Gets the value of the KNOT_PROPERTY property adapted to a list of TLcdGML31Knot instances.

      The property "knot" shall be the sequence of distinct knots used to define the spline basis functions.

      Returns:
      the value of the KNOT_PROPERTY property adapted to a list of TLcdGML31Knot instances.
      See Also:
    • getNumDerivativeInterior

      public long getNumDerivativeInterior()
      Returns the value of the property that maps to the numDerivativeInterior attribute.

      The attribute "numDerivativesInterior" specifies the type of continuity that is guaranteed interior to the curve. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.

      Returns:
      the value of the NUM_DERIVATIVE_INTERIOR_PROPERTY property.
    • setNumDerivativeInterior

      public void setNumDerivativeInterior(long aValue)
      Sets the value of the property that maps to the numDerivativeInterior attribute.

      The attribute "numDerivativesInterior" specifies the type of continuity that is guaranteed interior to the curve. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.

      Parameters:
      aValue - the value to set for the NUM_DERIVATIVE_INTERIOR_PROPERTY property.
    • getNumDerivativesAtEnd

      public long getNumDerivativesAtEnd()
      Returns the value of the property that maps to the numDerivativesAtEnd attribute.

      The attribute "numDerivativesAtEnd" specifies the type of continuity between this curve segment and its successor. If this is the last curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.

      Returns:
      the value of the NUM_DERIVATIVES_AT_END_PROPERTY property.
    • setNumDerivativesAtEnd

      public void setNumDerivativesAtEnd(long aValue)
      Sets the value of the property that maps to the numDerivativesAtEnd attribute.

      The attribute "numDerivativesAtEnd" specifies the type of continuity between this curve segment and its successor. If this is the last curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.

      Parameters:
      aValue - the value to set for the NUM_DERIVATIVES_AT_END_PROPERTY property.
    • getNumDerivativesAtStart

      public long getNumDerivativesAtStart()
      Returns the value of the property that maps to the numDerivativesAtStart attribute.

      The attribute "numDerivativesAtStart" specifies the type of continuity between this curve segment and its predecessor. If this is the first curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.

      Returns:
      the value of the NUM_DERIVATIVES_AT_START_PROPERTY property.
    • setNumDerivativesAtStart

      public void setNumDerivativesAtStart(long aValue)
      Sets the value of the property that maps to the numDerivativesAtStart attribute.

      The attribute "numDerivativesAtStart" specifies the type of continuity between this curve segment and its predecessor. If this is the first curve segment in the curve, one of these values, as appropriate, is ignored. The default value of "0" means simple continuity, which is a mandatory minimum level of continuity. This level is referred to as "C 0 " in mathematical texts. A value of 1 means that the function and its first derivative are continuous at the appropriate end point: "C 1 " continuity. A value of "n" for any integer means the function and its first n derivatives are continuous: "C n " continuity. NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line string segments cannot support continuity above C 0 , since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C 1 or higher continuity.

      Parameters:
      aValue - the value to set for the NUM_DERIVATIVES_AT_START_PROPERTY property.