Class Ifc4x1::IfcBlock¶
Defined in File Ifc4x1.h
Nested Relationships¶
This class is a nested type of Struct Ifc4x1.
Inheritance Relationships¶
Base Type¶
public Ifc4x1::IfcCsgPrimitive3D
(Class Ifc4x1::IfcCsgPrimitive3D)
Class Documentation¶
-
class
Ifc4x1
::
IfcBlock
: public Ifc4x1::IfcCsgPrimitive3D¶ The IfcBlock is a Construction Solid Geometry (CSG) 3D primitive. It is defined by a position and a positve distance along the three orthogonal axes. The inherited Position attribute has the IfcAxisPlacement3D type and provides:
SELF\IfcCsgPrimitive3D.Position: The location and orientation of the axis system for the primitive. SELF\IfcCsgPrimitive3D.Position.Location: The block has one vertex at location and the edges are aligned with the placement axes in the positive sense.
The XLength, YLength, and ZLength attributes define the size of the IfcBlock along the three axes. The following definitions from ISO 10303-42 apply:
A block is a solid rectangular parallelepiped, defined with a location and placement coordinate system. The block is specified by the positive lengths x, y, and z along the axes of the placement coordinate system, and has one vertex at the origin of the placement coordinate system.
Figure 250 illustrates geometric parameters of a block where the block positioned within its own placement coordinate system. The values for XLength, YLength, and ZLength are applied to the positive direction of the X, Y, and Z axis.
Figure 250 — Block geometry
NOTE Corresponding ISO 10303-42 entity: block, the position attribute has been promoted to the immediate supertype IfcCsgPrimitive3D. Please refer to ISO 10303-42:1994, p. 244 for the definition in the international standard.
HISTORY New entity in IFC2x3.
Texture use definition On each side face, textures are aligned facing upright. On the top and bottom faces, textures are aligned facing front-to-back. Textures are stretched or repeated to the extent of each face according to RepeatS and RepeatT.
Figure 251 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
Left -X 0 +YLength 0 -Y +Z
Right +X 0 +YLength 0 +Y +Z
Front +X 0 0 0 +X +Z
Back +Y +XLength +YLength 0 -X +Z
Bottom -Z +XLength 0 0 -X +Y
Top +Z 0 0 +ZLength +X +Y
Figure 251 — Block textures
Public Types
-
typedef IfcTemplatedEntityList<IfcBlock>
list
¶
Public Functions
-
double
XLength
() const¶ The size of the block along the placement X axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[1].
-
void
setXLength
(double v)¶
-
double
YLength
() const¶ The size of the block along the placement Y axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[2].
-
void
setYLength
(double v)¶
-
double
ZLength
() const¶ The size of the block along the placement Z axis. It is provided by the inherited axis placement through SELF\IfcCsgPrimitive3D.Position.P[3].
-
void
setZLength
(double v)¶
-
IfcBlock
(IfcEntityInstanceData *e)¶
-
IfcBlock
(::Ifc4x1::IfcAxis2Placement3D *v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength)¶
-
typedef IfcTemplatedEntityList<IfcBlock>