The SEDRIS Data Representation Model
APPENDIX A - Classes
Parallelepiped Volume Extent
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).
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 = width, first <Reference Vector> instance points to the right,
edge_length = depth, second <Reference Vector> instance points to the back, and
edge_length = height, third <Reference Vector> instance points up.
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*V1 +(+/-0.5) * edge_length*V2 +(+/-0.5) * edge_length*V3
The eight combinations of three (+/-0.5) coefficients give eight corners.
If C0 is the corner location and C[i] is the corner at the other end
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.
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.