# Class Ifc4x2::IfcOffsetCurve2D¶

## Nested Relationships¶

This class is a nested type of Struct Ifc4x2.

## Class Documentation¶

class `Ifc4x2::``IfcOffsetCurve2D` : public Ifc4x2::IfcOffsetCurve

Definition from ISO/CD 10303-42:1992: An offset curve 2d (IfcOffsetCurve2d) is a curve at a constant distance from a basis curve in two-dimensional space. This entity defines a simple plane-offset curve by offsetting by distance along the normal to basis curve in the plane of basis curve. The underlying curve shall have a well-defined tangent direction at every point. In the case of a composite curve, the transition code between each segment shall be cont same gradient or cont same gradient same curvature.

NOTE: The offset curve 2d may differ in nature from the basis curve; the offset of a non self- intersecting curve can be self-intersecting. Care should be taken to ensure that the offset to a continuous curve does not become discontinuous.

The offset curve 2d takes its parameterization from the basis curve. The offset curve 2d is parameterized as

where T is the unit tangent vector to the basis curve C(u) at parameter value u, and d is distance. The underlying curve shall be two-dimensional.

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

HISTORY New entity in IFC Release 2.x

Public Types

typedef IfcTemplatedEntityList<IfcOffsetCurve2D> `list`

Public Functions

double `Distance`() const

The distance of the offset curve from the basis curve. distance may be positive, negative or zero. A positive value of distance defines an offset in the direction which is normal to the curve in the sense of an anti-clockwise rotation through 90 degrees from the tangent vector T at the given point. (This is in the direction of orthogonal complement(T).)

void `setDistance`(double v)
bool `SelfIntersect`() const

An indication of whether the offset curve self-intersects; this is for information only.

void `setSelfIntersect`(bool v)
const IfcParse::entity &`declaration`() const
`IfcOffsetCurve2D`(IfcEntityInstanceData *e)
`IfcOffsetCurve2D`(::Ifc4x2::IfcCurve *v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect)

Public Static Functions

const IfcParse::entity &`Class`()