Although they are represented in a canonical form by only two vertices, namely the lexicographically smallest and largest vertex with respect to Cartesian $$xyz coordinates, we provide functions for ``accessing'' the other vertices as well.
Isooriented cuboids and bounding boxes are quite similar. The difference however is that bounding boxes have always double coordinates, whereas the coordinate type of an isooriented cuboid is chosen by the user.
 
introduces an isooriented cuboid c with diagonal
opposite vertices $$p and $$q. Note that the object is
brought in the canonical form.
 
 
introduces an isooriented cuboid c whose
minimal $$x coordinate is the one of left, the
maximal $$x coordinate is the one of right, the
minimal $$y coordinate is the one of bottom, the
maximal $$y coordinate is the one of top, the
minimal $$z coordinate is the one of far, the
maximal $$z coordinate is the one of close.
 
 
introduces an isooriented cuboid c with diagonal
opposite vertices
(min_hx/hw, min_hy/hw, min_hz/hw) and
(max_hx/hw, max_hy/hw, max_hz/hw). Precondition: hw $$ 0.


 
Test for equality: two isooriented cuboid are equal, iff their lower left and their upper right vertices are equal.  

 
Test for inequality.  

 returns the i'th vertex modulo 8 of c. starting with the lower left vertex. 

 
returns vertex(i), as indicated in the figure below: 

 returns the smallest vertex of c (= vertex(0)). 

 returns the largest vertex of c (= vertex(7)). 

 returns smallest Cartesian $$xcoordinate in c. 

 returns smallest Cartesian $$ycoordinate in c. 

 returns smallest Cartesian $$zcoordinate in c. 

 returns largest Cartesian $$xcoordinate in c. 

 returns largest Cartesian $$ycoordinate in c. 

 returns largest Cartesian $$zcoordinate in c. 

 
returns $$ith
Cartesian
coordinate of
the smallest vertex of c. Precondition: $$0 i 2.  

 
returns $$ith
Cartesian
coordinate of
the largest vertex of c. Precondition: $$0 i 2. 

 c is degenerate, if all vertices are collinear. 

 
returns either ON_UNBOUNDED_SIDE, ON_BOUNDED_SIDE, or the constant ON_BOUNDARY, depending on where point $$p is.  

 

 



 returns the volume of c. 

 returns a bounding box containing c. 
 
 
returns the isooriented cuboid obtained by applying $$t on
the smallest and the largest of c. Precondition: The angle at a rotation must be a multiple of $$/2, otherwise the resulting cuboid does not have the same size. Note that rotating about an arbitrary angle can even result in a degenerate isooriented cuboid. 