Class Ifc4::IfcCurveBoundedPlane

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcCurveBoundedPlane : public Ifc4::IfcBoundedSurface

Definition from ISO/CD 10303-42:1992: The curve bounded surface is a parametric surface with curved boundaries defined by one or more boundary curves. The bounded surface is defined to be the portion of the basis surface in the direction of N x T from any point on the boundary, where N is the surface normal and T the boundary curve tangent vector at this point. The region so defined shall be arcwise connected.

The IfcCurveBoundedPlane is a specialized bounded surface class that deals only with bounding basis plane surfaces. The definition varies from STEP as outer and inner boundaries are separated attributes and refer to IfcCurve. The only basis surface that is allowed is of type IfcPlane, and the implicit_outer attribute has not been incorporated, since only unbounded surfaces are used as basis surface.

The BasisSurface is an IfcPlane that establishes the position coordinate system by SELF\IfcElementarySurface.Position. The OuterBoundary and the InnerBoundaries (if provided) shall lie on the surface of IfcPlane. Therefore the IfcCurve’s establishing the outer and inner boundaries shall be:

either a 2D curve within the XY plane of the position coordinate sytem of IfcPlane or a 3D curve with all coordinates having a z value = 0.

NOTE Corresponding ISO 10303 entity curve_bounded_surface has been changed to meet the specific requirements of an easy representation of curve bounded planes.

HISTORY New entity in IFC Release 1.5

IFC2x PLATFORM CHANGE: The data type of the attribute OuterBoundary and InnerBoundaries has been changed from Ifc2DCompositeCurve to its supertype IfcCurve with upward compatibility for file based exchange.

Public Types

typedef IfcTemplatedEntityList<IfcCurveBoundedPlane> list

Public Functions

::Ifc4::IfcPlane *BasisSurface() const

The surface to be bound.

void setBasisSurface(::Ifc4::IfcPlane *v)
::Ifc4::IfcCurve *OuterBoundary() const

The outer boundary of the surface.

void setOuterBoundary(::Ifc4::IfcCurve *v)
IfcTemplatedEntityList<::Ifc4::IfcCurve>::ptr InnerBoundaries() const

An optional set of inner boundaries. They shall not intersect each other or the outer boundary.

void setInnerBoundaries(IfcTemplatedEntityList<::Ifc4::IfcCurve>::ptr v)
const IfcParse::entity &declaration() const
IfcCurveBoundedPlane(IfcEntityInstanceData *e)
IfcCurveBoundedPlane(::Ifc4::IfcPlane *v1_BasisSurface, ::Ifc4::IfcCurve *v2_OuterBoundary, IfcTemplatedEntityList<::Ifc4::IfcCurve>::ptr v3_InnerBoundaries)

Public Static Functions

const IfcParse::entity &Class()