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[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.
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.
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.
SE_Long_Float | edge_length[3]; | 2 |
---|
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.
|