de.grogra.imp3d.objects
Class NURBSSurface

java.lang.Object
  extended by de.grogra.graph.impl.Edge
      extended by de.grogra.graph.impl.Node
          extended by de.grogra.imp3d.objects.Null
              extended by de.grogra.imp3d.objects.ShadedNull
                  extended by de.grogra.imp3d.objects.NURBSSurface
All Implemented Interfaces:
Transformation, Pickable, Polygonizable, Renderable, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, java.io.Serializable

public class NURBSSurface
extends ShadedNull
implements Renderable, Polygonizable, Pickable

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
 
Nested classes/interfaces inherited from interface de.grogra.util.Map
Map.Chain
 
Field Summary
static Node.NType $TYPE
           
protected  float flatness
           
static Node.NType.Field flatness$FIELD
           
static byte SKIN
          Constant for NURBSSurface(byte) indicating a skinned surface (defined by a set of profile curves in space).
protected  BSplineSurface surface
           
static Node.NType.Field surface$FIELD
           
static byte SWEEP
          Constant for NURBSSurface(byte) indicating a swept surface (defined by a set of vertices in space).
protected  int visibleSides
           
static Node.NType.Field visibleSides$FIELD
           
 
Fields inherited from class de.grogra.imp3d.objects.ShadedNull
INFINITE_MASK, interior, interior$FIELD, shader, shader$FIELD, treatedAsInfinite$FIELD, USED_BITS
 
Fields inherited from class de.grogra.imp3d.objects.Null
transform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELD
 
Fields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MIME_TYPE, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD
 
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
 
Constructor Summary
NURBSSurface()
           
NURBSSurface(BSplineCurve profile)
           
NURBSSurface(BSplineCurve profile, boolean useRail)
           
NURBSSurface(BSplineCurveList curves)
           
NURBSSurface(BSplineCurve profile, java.lang.String name)
           
NURBSSurface(BSplineCurve profile, java.lang.String name, boolean useRail)
           
NURBSSurface(BSplineSurface surface)
           
NURBSSurface(byte type)
           
NURBSSurface(byte type, java.lang.String name, boolean useRail)
           
NURBSSurface(float radius)
           
NURBSSurface(float radius, java.lang.String name)
           
 
Method Summary
 void draw(java.lang.Object object, boolean asNode, RenderState rs)
           
 float getFlatness()
           
protected  Node.NType getNTypeImpl()
          This method returns the Node.NType which describes the managed fields of the class of this node.
 ContextDependent getPolygonizableSource(GraphState gs)
          Defines the data source on which the polygonization depends.
 Polygonization getPolygonization()
          Defines the algorithm which is used to decompose the data into a polygon mesh representation.
 BSplineSurface getSurface()
           
 int getVisibleSides()
           
protected  Node newInstance()
          This method returns a new instance of the class of this node.
 void pick(java.lang.Object object, boolean asNode, Point3d origin, Vector3d direction, Matrix4d transformation, PickList list)
          Computes intersections of a given ray with this shape.
 void setFlatness(float value)
           
 void setHermite(boolean hermite)
           
 void setSurface(BSplineSurface value)
           
 void setTangentLength(float length)
           
 void setUseRail(boolean useRail)
           
 void setVisibleSides(int value)
           
 
Methods inherited from class de.grogra.imp3d.objects.ShadedNull
getInterior, getShader, getSymbolColor, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setShader, setShaders, setTreatedAsInfinite
 
Methods inherited from class de.grogra.imp3d.objects.Null
getLocalTransformation, getTransform, getTranslation, isTransforming, postTransform, preTransform, setRotation, setScale, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransforming, setTranslation
 
Methods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getShort, getSource, getStamp, getSuccessor, getSymbol, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setLayer, setMark, setName, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplace
 
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
 

Field Detail

$TYPE

public static final Node.NType $TYPE

flatness

protected float flatness

flatness$FIELD

public static final Node.NType.Field flatness$FIELD

SKIN

public static final byte SKIN
Constant for NURBSSurface(byte) indicating a skinned surface (defined by a set of profile curves in space).

See Also:
Constant Field Values

surface

protected BSplineSurface surface

surface$FIELD

public static final Node.NType.Field surface$FIELD

SWEEP

public static final byte SWEEP
Constant for NURBSSurface(byte) indicating a swept surface (defined by a set of vertices in space).

See Also:
Constant Field Values

visibleSides

protected int visibleSides

visibleSides$FIELD

public static final Node.NType.Field visibleSides$FIELD
Constructor Detail

NURBSSurface

public NURBSSurface()

NURBSSurface

public NURBSSurface(BSplineCurve profile)

NURBSSurface

public NURBSSurface(BSplineCurve profile,
                    boolean useRail)

NURBSSurface

public NURBSSurface(BSplineCurveList curves)

NURBSSurface

public NURBSSurface(BSplineCurve profile,
                    java.lang.String name)

NURBSSurface

public NURBSSurface(BSplineCurve profile,
                    java.lang.String name,
                    boolean useRail)

NURBSSurface

public NURBSSurface(BSplineSurface surface)

NURBSSurface

public NURBSSurface(byte type)

NURBSSurface

public NURBSSurface(byte type,
                    java.lang.String name,
                    boolean useRail)

NURBSSurface

public NURBSSurface(float radius)

NURBSSurface

public NURBSSurface(float radius,
                    java.lang.String name)
Method Detail

draw

public void draw(java.lang.Object object,
                 boolean asNode,
                 RenderState rs)
Specified by:
draw in interface Renderable

getFlatness

public float getFlatness()

getNTypeImpl

protected Node.NType getNTypeImpl()
Description copied from class: Node
This method returns the Node.NType which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
getNTypeImpl in class ShadedNull
Returns:
type describing the managed fields of the class of this node

getPolygonizableSource

public ContextDependent getPolygonizableSource(GraphState gs)
Description copied from interface: Polygonizable
Defines the data source on which the polygonization depends.

Specified by:
getPolygonizableSource in interface Polygonizable
Parameters:
gs - the current graph state
Returns:
the data source

getPolygonization

public Polygonization getPolygonization()
Description copied from interface: Polygonizable
Defines the algorithm which is used to decompose the data into a polygon mesh representation.

Specified by:
getPolygonization in interface Polygonizable
Returns:
polygonization algorithm

getSurface

public BSplineSurface getSurface()

getVisibleSides

public int getVisibleSides()

newInstance

protected Node newInstance()
Description copied from class: Node
This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.

Overrides:
newInstance in class ShadedNull
Returns:
new instance of class of this node

pick

public void pick(java.lang.Object object,
                 boolean asNode,
                 Point3d origin,
                 Vector3d direction,
                 Matrix4d transformation,
                 PickList list)
Description copied from interface: Pickable
Computes intersections of a given ray with this shape.

Specified by:
pick in interface Pickable
Parameters:
object - the object of which this shape is an attribute
asNode - true iff object is a node
origin - the origin of the ray, in local coordinates
direction - the direction of the ray, in local coordinates
transformation - the transformation from local coordinates to world coordinates
list - the list to which intersections have to be added

setFlatness

public void setFlatness(float value)

setHermite

public void setHermite(boolean hermite)

setSurface

public void setSurface(BSplineSurface value)

setTangentLength

public void setTangentLength(float length)

setUseRail

public void setUseRail(boolean useRail)

setVisibleSides

public void setVisibleSides(int value)