de.grogra.math
Class ProductSurface

java.lang.Object
  extended by de.grogra.persistence.ShareableBase
      extended by de.grogra.graph.impl.ContextDependentBase
          extended by de.grogra.math.ProductSurface
All Implemented Interfaces:
ContextDependent, BSplineSurface, KnotVector, VertexGrid, VertexSet, Manageable, Shareable
Direct Known Subclasses:
ExtrudedSurface, SwungSurface

public abstract class ProductSurface
extends ContextDependentBase
implements BSplineSurface


Nested Class Summary
static class ProductSurface.Type
           
 
Field Summary
static ProductSurface.Type $TYPE
           
static SCOType.Field profile$FIELD
           
static SCOType.Field trajectory$FIELD
           
 
Constructor Summary
protected ProductSurface()
           
  ProductSurface(BSplineCurve profile, BSplineCurve trajectory)
           
 
Method Summary
 boolean dependsOnContext()
          Determines whether this object actually depends on context.
 int getDimension(GraphState gs)
           
 float getKnot(int dim, int index, GraphState gs)
           
 BSplineCurve getProfile()
           
 BSplineCurve getTrajectory()
           
 int getUDegree(GraphState gs)
           
 int getUSize(GraphState gs)
           
 int getVDegree(GraphState gs)
           
 int getVertexIndex(int u, int v, GraphState gs)
           
 int getVSize(GraphState gs)
           
 boolean isRational(GraphState gs)
           
 void setProfile(BSplineCurve value)
           
 void setTrajectory(BSplineCurve value)
           
 void writeStamp(Cache.Entry cache, GraphState gs)
          Writes a stamp of the context into cache.
 
Methods inherited from class de.grogra.persistence.ShareableBase
addReference, appendReferencesTo, fieldModified, getProvider, getStamp, initProvider, manageableReadResolve, manageableWriteReplace, removeReference
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.grogra.math.VertexSet
getVertex
 
Methods inherited from interface de.grogra.persistence.Manageable
getManageableType
 

Field Detail

$TYPE

public static final ProductSurface.Type $TYPE

profile$FIELD

public static final SCOType.Field profile$FIELD

trajectory$FIELD

public static final SCOType.Field trajectory$FIELD
Constructor Detail

ProductSurface

protected ProductSurface()

ProductSurface

public ProductSurface(BSplineCurve profile,
                      BSplineCurve trajectory)
Method Detail

dependsOnContext

public boolean dependsOnContext()
Description copied from interface: ContextDependent
Determines whether this object actually depends on context.

Specified by:
dependsOnContext in interface ContextDependent
Returns:
true iff this object depends on context

getDimension

public int getDimension(GraphState gs)
Specified by:
getDimension in interface VertexSet

getKnot

public float getKnot(int dim,
                     int index,
                     GraphState gs)
Specified by:
getKnot in interface KnotVector

getProfile

public BSplineCurve getProfile()

getTrajectory

public BSplineCurve getTrajectory()

getUDegree

public int getUDegree(GraphState gs)
Specified by:
getUDegree in interface BSplineSurface

getUSize

public int getUSize(GraphState gs)
Specified by:
getUSize in interface VertexGrid

getVDegree

public int getVDegree(GraphState gs)
Specified by:
getVDegree in interface BSplineSurface

getVertexIndex

public int getVertexIndex(int u,
                          int v,
                          GraphState gs)
Specified by:
getVertexIndex in interface VertexGrid

getVSize

public int getVSize(GraphState gs)
Specified by:
getVSize in interface VertexGrid

isRational

public boolean isRational(GraphState gs)
Specified by:
isRational in interface VertexSet

setProfile

public void setProfile(BSplineCurve value)

setTrajectory

public void setTrajectory(BSplineCurve value)

writeStamp

public void writeStamp(Cache.Entry cache,
                       GraphState gs)
Description copied from interface: ContextDependent
Writes a stamp of the context into cache. Based on this stamp, a cache detects whether the context of this object has changed or not.

Specified by:
writeStamp in interface ContextDependent
Overrides:
writeStamp in class ContextDependentBase
Parameters:
cache - a cache entry to write the stamp
gs - the current graph state