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.MeshNode
- All Implemented Interfaces:
Transformation
,Pickable
,Polygonizable
,Renderable
,Manageable
,PersistenceCapable
,Shareable
,UserFields
,XObject
,Map
,Serializable
- Direct Known Subclasses:
GPP
,GWedge
,LeafMeshImpl
,PropertyMeshNode
,SphereSegment
A
MeshNode
is used to represent a polygonal mesh defined
by an instance of Polygons
within the
graph.- Author:
- Ole Kniemeyer
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Node.NType
protected Polygons
This defines the geometry of this node, namely a polygonal mesh.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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
draw
(Object object, boolean asNode, RenderState rs) static double
getAreaOfTriangulation
(float[] pointlist) 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.double
Calculates the area of an object.int
double
Calculates the volume.protected Node
This method returns a new instance of the class of this node.void
pick
(Object node, boolean asNode, Point3d origin, Vector3d direction, Matrix4d transformation, PickList list) Computes intersections of a given ray with this shape.void
setPolygons
(Polygons value) void
setVisibleSides
(int value) Methods inherited from class de.grogra.imp3d.objects.ShadedNull
getInterior, getShader, getSymbolColor, 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
-
polygons
This defines the geometry of this node, namely a polygonal mesh. -
visibleSides
protected int visibleSides -
$TYPE
-
polygons$FIELD
-
visibleSides$FIELD
-
-
Constructor Details
-
MeshNode
public MeshNode() -
MeshNode
-
-
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
public void pick(Object node, 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:
node
- 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
-
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) -
getPolygons
-
setPolygons
-
getAreaOfTriangulation
public static double getAreaOfTriangulation(float[] pointlist) -
getSurfaceArea
public double getSurfaceArea()Calculates the area of an object. Intersection with other object are not considered.The total area will be calculated.- Overrides:
getSurfaceArea
in classShadedNull
- Returns:
- area
-
getVolume
public double getVolume()Calculates the volume. Intersection with other object are not considered.The total volume will be calculated. V=tbd- Overrides:
getVolume
in classShadedNull
- Returns:
- volume
-