##### Child pages
• pg test
Go to start of banner

# pg test

```TCube>>initBounds
boundSphere  := TBoundSphere  localPosition:  location radius:  (extent length)/2.

boundSphere  frame:  self.
```

The boundSphere is constructed using the TBoundSphere class with arguments of location - the same location described above - an the radius of the resulting sphere, which in this case will be the same as from the center of the box to any one of the corners. Finally, we set: boundSphere frame: self to have the new boundSphere point back to the original TFrame object.

5. We set the changed variable to be true to indicate that we have modified the shape of the TCube.

6. Finally, we send: self update to construct the structure of the TCube to prepare it to be rendered. The #update method, though somewhat long, does nothing more than constructs the vertices, faces, normals and texture coordinates required to render the new TCube.

```TCube>>#update

dx dy  dz x y  z

dx  := extent x/2.0. dy  := extent y/2.0. dz  := extent z/2.0. x := location  x.

y  := location y. z  :=  location z.

vertices := Vector3Array  new:  8.

vertices at:  1  put:  (Vector3 x:  x+(dx negated)  y: y+(dy negated)  z: z+dz).

vertices at:  2  put:  (Vector3 x:  x+dx y:  y+(dy  negated)  z: z+dz).

vertices at:  3  put:  (Vector3 x:  x+dx y:  y+ dy  z: z+dz).

vertices at:  4  put:  (Vector3 x:  x+(dx negated)  y: y+dy  z: z+dz).

dz  := dz negated.

vertices at:  5  put:  (Vector3 x:  x+(dx negated)  y: y+(dy negated)  z: z+dz).

vertices at:  6  put:  (Vector3 x:  x+dx y:  y+(dy  negated)  z: z+
```

• No labels