artofillusion.texture
Class UVWMappedTriangle

java.lang.Object
  extended by artofillusion.RenderingTriangle
      extended by artofillusion.texture.UVWMappedTriangle
All Implemented Interfaces:
java.lang.Cloneable

public class UVWMappedTriangle
extends RenderingTriangle

UVWMappedTriangle is a subclass of RenderingTriangle, which represents a triangle whose 3D texture coordinates are explicitly specified at each vertex.


Field Summary
 
Fields inherited from class artofillusion.RenderingTriangle
index, n1, n2, n3, theMesh, v1, v2, v3
 
Constructor Summary
UVWMappedTriangle(int v1, int v2, int v3, int n1, int n2, int n3)
          Create a new UVMappedTriangle.
 
Method Summary
 double getDisplacement(double u, double v, double w, double size, double time)
          Get the displacement for a point on the triangle.
 void getTextureSpec(TextureSpec spec, double angle, double u, double v, double w, double size, double time)
          Given the barycentric coordinates for a point in the triangle, build a TextureSpec describing the properties of the triangle at that point.
 void getTransparency(RGBColor trans, double angle, double u, double v, double w, double size, double time)
          Same as above, except only return the transparent color.
 void setMesh(RenderingMesh mesh, TextureMapping map, int index)
          Set the mesh that this triangle is part of.
 void setTextureCoordinates(float r1, float s1, float t1, float r2, float s2, float t2, float r3, float s3, float t3, Vec3 vert1, Vec3 vert2, Vec3 vert3)
          Set the texture coordinates for this triangle and update various internal parameters.
 
Methods inherited from class artofillusion.RenderingTriangle
clone, getParameters, getTextureMapping
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UVWMappedTriangle

public UVWMappedTriangle(int v1,
                         int v2,
                         int v3,
                         int n1,
                         int n2,
                         int n3)
Create a new UVMappedTriangle. The triangle will not be fully initialized and should not be used until setParameters() has been called on it.

Method Detail

setMesh

public void setMesh(RenderingMesh mesh,
                    TextureMapping map,
                    int index)
Set the mesh that this triangle is part of. This is automatically called when the triangle is added to the mesh.

Overrides:
setMesh in class RenderingTriangle
Parameters:
mesh - the RenderingMesh this triangle belongs to
map - the TextureMapping for this triangle
index - the index of this triangle within the mesh

setTextureCoordinates

public void setTextureCoordinates(float r1,
                                  float s1,
                                  float t1,
                                  float r2,
                                  float s2,
                                  float t2,
                                  float r3,
                                  float s3,
                                  float t3,
                                  Vec3 vert1,
                                  Vec3 vert2,
                                  Vec3 vert3)
Set the texture coordinates for this triangle and update various internal parameters.


getTextureSpec

public void getTextureSpec(TextureSpec spec,
                           double angle,
                           double u,
                           double v,
                           double w,
                           double size,
                           double time)
Description copied from class: RenderingTriangle
Given the barycentric coordinates for a point in the triangle, build a TextureSpec describing the properties of the triangle at that point. The properties should be averaged over a region of width size.

Specified by:
getTextureSpec in class RenderingTriangle

getTransparency

public void getTransparency(RGBColor trans,
                            double angle,
                            double u,
                            double v,
                            double w,
                            double size,
                            double time)
Description copied from class: RenderingTriangle
Same as above, except only return the transparent color. This can save time in cases where only the transparency is required, for example, when tracing shadow rays.

Specified by:
getTransparency in class RenderingTriangle

getDisplacement

public double getDisplacement(double u,
                              double v,
                              double w,
                              double size,
                              double time)
Description copied from class: RenderingTriangle
Get the displacement for a point on the triangle.

Specified by:
getDisplacement in class RenderingTriangle


Copyright © 1999-2011 by Peter Eastman.