Interface PrimitiveList

All Superinterfaces:
RenderObject
All Known Implementing Classes:
Background, BanchoffSurface, Box, CornellBox, CubeGrid, Cylinder, Hair, ImageBasedLight, JuliaFractal, ParticleSurface, Plane, QuadMesh, Sphere, SphereFlake, SunSkyLight, Torus, TriangleMesh, TriangleMeshLight

public interface PrimitiveList extends RenderObject
This class represents an object made up of many primitives.
  • Method Details

    • 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.
      Parameters:
      o2w - object to world transformation matrix
      Returns:
      object bounding box in world space
    • getNumPrimitives

      int getNumPrimitives()
      Returns the number of individual primtives in this aggregate object.
      Returns:
      number of primitives
    • getPrimitiveBound

      float getPrimitiveBound(int primID, int i)
      Retrieve the bounding box component of a particular primitive in object space. Even indexes get minimum values, while odd indexes get the maximum values for each axis.
      Parameters:
      primID - primitive index
      i - bounding box side index
      Returns:
      value of the request bound
    • intersectPrimitive

      void intersectPrimitive(Ray r, int primID, IntersectionState state)
      Intersect the specified primitive in local space.
      Parameters:
      r - ray in the object's local space
      primID - primitive index to intersect
      state - intersection state
      See Also:
    • prepareShadingState

      void prepareShadingState(ShadingState state)
      Prepare the specified ShadingState by setting all of its internal parameters.
      Parameters:
      state - shading state to fill in
    • getBakingPrimitives

      PrimitiveList getBakingPrimitives()
      Create a new PrimitiveList object suitable for baking lightmaps. This means a set of primitives laid out in the unit square UV space. This method is optional, objects which do not support it should simply return null.
      Returns:
      a list of baking primitives