The SEDRIS Data Representation Model
APPENDIX A - Classes
Parallelepiped Volume Extent

Class Name: Parallelepiped Volume Extent

Superclass - <Volume Extent>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class specifies the length and orientation of each of the edges of a parallelepiped volume relative to the location of the volume centre (which is specified separately by the aggregate of the <Parallelepiped Volume Extent> instance).

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

This class appears on only one page of the DRM class diagram.

Example

  1. Consider a <Bounding Volume> instance for a representation of a building, such that the bounding volume is specified by a <Parallelepiped Volume Extent> instance with:
    edge_length[0] = width, first <Reference Vector> instance points to the right,
    edge_length[1] = depth, second <Reference Vector> instance points to the back, and
    edge_length[2] = height, third <Reference Vector> instance points up.

FAQs

Given the location of the centre, how can the eight corners of the parallelepiped be computed?

If V1, V2, and V3 are the three <Reference Vector> components and L0 is the <Location 3D> of the <Enclosing Volume>, the vector equation for a parallelepiped corner C is given by:
C = L0+(+/-0.5) * edge_length[0]*V1 +(+/-0.5) * edge_length[1]*V2 +(+/-0.5) * edge_length[2]*V3
The eight combinations of three (+/-0.5) coefficients give eight corners.

Given the three edges emanating from a corner of a parallelepiped, how are edge lengths and <Reference Vector> instances computed?

If C0 is the corner location and C[i] is the corner at the other end edge i:
edge_length[i-1] = length of vector ( C[i]-C0 )
and the i-th reference vector is (1 / edge_length[i-1]) × (C[i]-C0) for i=1,2,3.

Constraints

Composed of (two-way)

Component of (two-way) (inherited)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Long_Float

edge_length[3];

2


Notes

Composed of Notes


Reference_Vector

These are edge directions, each of which has vector_type = SE_REFVEC_PARALLELEPIPED_EDGE_DIRECTION.

Fields Notes

edge_length

Each entry of the edge_length array is measured in metres and specifies the length of the edge specified by the correspondingly ordered <Reference Vector> instance. Each entry shall be > 0.0.


Prev: Overload Priority Index. Next: PD 3D Location. Up:Index.