## Class Name: Parallelepiped 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

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.

## Notes

### Composed of Notes

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

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.