org.sunflow.core

## Interface Tesselatable

All Superinterfaces:
  RenderObject

All Known Implementing Classes:
  BezierMesh, FileMesh, Gumbo, Teapot

    public interface Tesselatable
    extends RenderObject

Represents an object which can be tesselated into a list of primitives such as a `TriangleMesh`.

### Method Summary

Methods
`BoundingBox` `getWorldBounds(Matrix4 o2w)` Compute a bounding box of this object in world space, using the specified object-to-world transformation matrix.
`PrimitiveList` `tesselate()` Tesselate this object into a `PrimitiveList`.

### Methods inherited from interface org.sunflow.core.RenderObject

`update`

### Method Detail

#### tesselate

    PrimitiveList tesselate()

Tesselate this object into a `PrimitiveList`. This may return `null` if tesselation fails.

Returns:
  a list of primitives generated by the tesselation

#### getWorldBounds

    BoundingBox getWorldBounds(Matrix4 o2w)

Compute a bounding box of this object in world space, using the specified object-to-world transformation matrix. The bounds should be as exact as possible, if they are difficult or expensive to compute exactly, you may use `Matrix4.transform(BoundingBox)`. If the matrix is `null` no transformation is needed, and object space is equivalent to world space. This method may return `null` if these bounds are difficult or impossible to compute, in which case the tesselation will be executed right away and the bounds of the resulting primitives will be used.

Parameters:
  `o2w` - object to world transformation matrix
Returns:
  object bounding box in world space