Class VisualHull

java.lang.Object
  extended by VisualHull

public class VisualHull
extends java.lang.Object

This class represents the visual hull of an object in the scene. The hull consists of a series of intervals along rays shot from the desired view.


Constructor Summary
VisualHull()
          Creates an empty VisualHull.
VisualHull(Camera c)
          Creates an empty VisualHull with dimensions set to the dimensions of the image contained in the supplied Camera.
 
Method Summary
 RayIntervals getRayIntervals(int posX, int posY)
           
 void insertRayIntervals(int posX, int posY, RayIntervals ri)
          Inserts the supplied RayIntervals into the specified position in the interval image.
 void transform(Matrix4 t)
          Transforms the complete visual hull by multiplying all its rays with the supplied matrix.
 void transformRayDirections(Matrix4 t)
           
 void transformRayPositions(Matrix4 t)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VisualHull

public VisualHull()
Creates an empty VisualHull.


VisualHull

public VisualHull(Camera c)
Creates an empty VisualHull with dimensions set to the dimensions of the image contained in the supplied Camera. Also creates Ray3Ds from the projection point of the Camera through all the pixels of its image.

Parameters:
c - the camera of the desired view. Must contain an image.
Method Detail

insertRayIntervals

public void insertRayIntervals(int posX,
                               int posY,
                               RayIntervals ri)
Inserts the supplied RayIntervals into the specified position in the interval image.

Parameters:
posX - the x-position.
posY - the y-position.
ri - the RayIntervals object to insert.

getRayIntervals

public RayIntervals getRayIntervals(int posX,
                                    int posY)

transform

public void transform(Matrix4 t)
Transforms the complete visual hull by multiplying all its rays with the supplied matrix. Note that no rescaling of the intervals is performed so the matrix should imply any scaling either.

Parameters:
t - the transformation matrix.

transformRayDirections

public void transformRayDirections(Matrix4 t)

transformRayPositions

public void transformRayPositions(Matrix4 t)