Class Ifc4x1::IfcRationalBSplineCurveWithKnots

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcRationalBSplineCurveWithKnots : public Ifc4x1::IfcBSplineCurveWithKnots

A rational B-spline curve with knots is a B-spline curve described in terms of control points and basic functions. It describes weights in addition to the control points defined at the supertype IfcBSplineCurve.

NOTE: The IfcRationalBSplineCurveWithKnots is an entity that had been adopted from ISO 10303, Industrial automation systems and integration — Product data representation and exchange, Part 42: Integrated generic resource: Geometric and topological representation.

NOTE: The specific subtype IfcRationalBSplineCurveWithKnots has been introduced to avoid the complexity of ANDOR subtype relationships in the ISO 10303-42 specification

All weights shall be positive and the curve is given by:

where

k+1 number of control points

Pi control points

wi weights

d degree

NOTE Corresponding ISO 10303 entity: rational_b_spline_curve. Please refer to ISO/IS 10303-42:1994, p. 45 for the final definition of the formal standard.

HISTORY New entity in IFC2x4.

Public Functions

std::vector<double> WeightsData() const

The supplied values of the weights.

void setWeightsData(std::vector<double> v)
const IfcParse::entity &declaration() const
IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData *e)
IfcRationalBSplineCurveWithKnots(int v1_Degree, IfcTemplatedEntityList<::Ifc4x1::IfcCartesianPoint>::ptr v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, bool v4_ClosedCurve, bool v5_SelfIntersect, std::vector<int> v6_KnotMultiplicities, std::vector<double> v7_Knots, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec, std::vector<double> v9_WeightsData)

Public Static Functions

const IfcParse::entity &Class()