java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp3d.objects.Null
de.grogra.imp3d.objects.ShadedNull
de.grogra.imp3d.objects.Patch
- All Implemented Interfaces:
Transformation
,Pickable
,Polygonizable
,Polygonization
,Renderable
,Manageable
,PersistenceCapable
,Shareable
,UserFields
,XObject
,Map
,Serializable
- Direct Known Subclasses:
Arrange
public class Patch
extends ShadedNull
implements Pickable, Polygonizable, Polygonization, Renderable
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Node.NType
protected VertexGrid
static final Node.NType.Field
protected int
static final Node.NType.Field
Fields inherited from class de.grogra.imp3d.objects.ShadedNull
INFINITE_MASK, interior, interior$FIELD, renderAsWireframe, renderAsWireframe$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, MAX_RESOLUTION, MIME_TYPE, MIN_RESOLUTION, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, RESOLUTION_BIT, RESOLUTION_MASK, resolution$FIELD
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
Fields inherited from interface de.grogra.imp3d.Polygonization
COMPUTE_NORMALS, COMPUTE_UV
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
draw
(Object object, boolean asNode, RenderState rs) getGrid()
protected Node.NType
This method returns theNode.NType
which describes the managed fields of the class of this node.Defines the data source on which the polygonization depends.Defines the algorithm which is used to decompose the data into a polygon mesh representation.int
protected Node
This method returns a new instance of the class of this node.static void
pick
(VertexGrid grid, Point3d origin, Vector3d direction, PickList list) void
pick
(Object object, boolean asNode, Point3d origin, Vector3d direction, Matrix4d transformation, PickList list) Computes intersections of a given ray with this shape.void
polygonize
(ContextDependent source, GraphState gs, PolygonArray out, int flags, float flatness) Performs the polygonization of the source into polygons.void
setGrid
(VertexGrid value) void
setVisibleSides
(int value) Methods inherited from class de.grogra.imp3d.objects.ShadedNull
getInterior, getShader, getSurfaceArea, getSymbolColor, getVolume, isRenderAsWireframe, isTreatedAsInfinite, setBackShader, setColor, setColor, setFrontShader, setInterior, setMaterial, setRenderAsWireframe, 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, dupFrom, dupnew, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, findRefinementType, 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, getIgnored, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getResolution, getShort, getSource, getStamp, getSuccessor, getSymbol, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isEncoarseOf, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setIgnored, setLayer, setMark, setName, setResolution, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplace
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, 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 Details
-
grid
-
visibleSides
protected int visibleSides -
$TYPE
-
grid$FIELD
-
visibleSides$FIELD
-
-
Constructor Details
-
Patch
public Patch() -
Patch
-
-
Method Details
-
getPolygonizableSource
Description copied from interface:Polygonizable
Defines the data source on which the polygonization depends.- Specified by:
getPolygonizableSource
in interfacePolygonizable
- Parameters:
gs
- the current graph state- Returns:
- the data source
-
pick
-
pick
public void pick(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 interfacePickable
- Parameters:
object
- the object of which this shape is an attributeasNode
-true
iff object is a nodeorigin
- the origin of the ray, in local coordinatesdirection
- the direction of the ray, in local coordinatestransformation
- the transformation from local coordinates to world coordinateslist
- the list to which intersections have to be added
-
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 interfacePolygonizable
- Returns:
- polygonization algorithm
-
polygonize
public void polygonize(ContextDependent source, GraphState gs, PolygonArray out, int flags, float flatness) Description copied from interface:Polygonization
Performs the polygonization of the source into polygons. The fieldout.userObject
is not modified.- Specified by:
polygonize
in interfacePolygonization
- Parameters:
source
- the data source as reported by a previous invocation ofPolygonizable.getPolygonizableSource(GraphState)
with the samegs
gs
- the current graph stateout
- the polygons are written toout
flags
- combination of bit masksflatness
- a parameter for the degree of flatness, a typical value is 1
-
draw
- Specified by:
draw
in interfaceRenderable
-
getNTypeImpl
Description copied from class:Node
This method returns theNode.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 classShadedNull
- Returns:
- type describing the managed fields of the class of this 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 classShadedNull
- Returns:
- new instance of class of this node
-
getVisibleSides
public int getVisibleSides() -
setVisibleSides
public void setVisibleSides(int value) -
getGrid
-
setGrid
-