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>).
A <Bounding Volume> for a building will
have a
<Parallelepiped Volume Extent> with:
edge_length[0]=width, first <Reference
Vector> points to the right,
edge_length[1]=depth, second <Reference
Vector> points to the back, and
edge_length[2]=height, third <Reference
Vector> points up.
If V1, V2, and V3 are the three <Reference
Vector> components and L0 is the <Location 3D>
of the <Volume>, then 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, then:
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[]; | (notes) |
---|
These are edge directions, each of which has vector_type = SE_REF_VEC_TYP_PARALLELEPIPED_EDGE_DIRECTION.
Each entry of this array is measured in metres, and shall be > 0.0.
|