Class Ifc4::IfcRightCircularCylinder

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcRightCircularCylinder : public Ifc4::IfcCsgPrimitive3D

The IfcRightCircularCylinder is a Construction Solid Geometry (CSG) 3D primitive. It is a solid with a circular base and top. The cylindrical surface between if formed by points at a fixed distance from the axis of the cylinder. The inherited Position attribute defines the IfcAxisPlacement3D and provides:

SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive. SELF\IfcCsgPrimitive3D.Position.Location: The center of the circular area being the bottom face of the cylinder. SELF\IfcCsgPrimitive3D.Position.Position[3]: The z axis provides the center axis and the height is measured from the origin along the positive direction of the z axis.

The following definitions from ISO 10303-42 apply:

A right circular cylinder is a CSG primitive in the form of a solid cylinder of finite height. It is defined by an axis point at the centre of one planar circular face, an axis, a height, and a radius. The faces are perpendicular to the axis and are circular discs with the specified radius. The height is the distance from the first circular face centre in the positive direction of the axis to the second circular face centre.

Figure 266 illustrates geometric parameters of the cylinder. The cylinder is positioned within its own placement coordiante system. The origin is the center of the bottom circular disk, that lies in the XY plane. The center of the top circular disk is on the positive z axis at [0, 0, Height].

Figure 266 — Right circular cylinder geometry

NOTE Corresponding ISO 10303 entity: right_circular_cyclinder, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO/IS 10303-42:1994, p. 177 for the definition in the international standard.

HISTORY New entity in IFC2x3.

Texture use definition On the circular side, textures are aligned facing upright with origin at the back (+Y direction) revolving counter-clockwise. Textures are stretched or repeated to the extent of the circumference according to RepeatS. Textures are stretched or repeated to the extent of the Height according to RepeatT. On the top and bottom faces, textures are aligned facing front-to-back, with the center of the circle aligned to the center of the texture.

Figure 267 illustrates default texture mapping with a clamped texture (RepeatS=False and RepeatT=False). The image on the left shows the texture where the S axis points to the right and the T axis points up. The image on the right shows the texture applied to the geometry where the X axis points back to the right, the Y axis points back to the left, and the Z axis points up.

Side Normal Origin X Origin Y Origin Z S Axis T Axis

Side -Y 0 +Radius 0 -X +Z

Bottom -Z 0 0 0 -X +Y

Top +Z 0 0 +Height +X +Y

Figure 267 — Right circular cylinder textures

Public Functions

double Height() const

The distance between the planar circular faces of the cylinder.

void setHeight(double v)
double Radius() const

The radius of the cylinder.

void setRadius(double v)
const IfcParse::entity &declaration() const
IfcRightCircularCylinder(IfcEntityInstanceData *e)
IfcRightCircularCylinder(::Ifc4::IfcAxis2Placement3D *v1_Position, double v2_Height, double v3_Radius)

Public Static Functions

const IfcParse::entity &Class()