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,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
FieldsModifier and TypeFieldDescriptionstatic final Node.NTypeprotected PolygonsThis defines the geometry of this node, namely a polygonal mesh.static final Node.NType.Fieldprotected intstatic final Node.NType.FieldFields inherited from class de.grogra.imp3d.objects.ShadedNull
INFINITE_MASK, interior, interior$FIELD, renderAsWireframe, renderAsWireframe$FIELD, shader, shader$FIELD, treatedAsInfinite$FIELD, USED_BITSFields inherited from class de.grogra.imp3d.objects.Null
transform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELDFields 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$FIELDFields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddraw(Object object, boolean asNode, RenderState rs) static doublegetAreaOfTriangulation(float[] pointlist) protected Node.NTypeThis method returns theNode.NTypewhich 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.doubleCalculates the area of an object.intdoubleCalculates the volume.protected NodeThis method returns a new instance of the class of this node.voidpick(Object node, boolean asNode, Point3d origin, Vector3d direction, Matrix4d transformation, PickList list) Computes intersections of a given ray with this shape.voidsetPolygons(Polygons value) voidsetVisibleSides(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, setTreatedAsInfiniteMethods 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, setTranslationMethods 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, writeReplaceMethods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBitsMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:PolygonizableDefines the data source on which the polygonization depends.- Specified by:
getPolygonizableSourcein 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:PickableComputes intersections of a given ray with this shape.- Specified by:
pickin interfacePickable- Parameters:
node- the object of which this shape is an attributeasNode-trueiff 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:PolygonizableDefines the algorithm which is used to decompose the data into a polygon mesh representation.- Specified by:
getPolygonizationin interfacePolygonizable- Returns:
- polygonization algorithm
-
draw
- Specified by:
drawin interfaceRenderable
-
getNTypeImpl
Description copied from class:NodeThis method returns theNode.NTypewhich describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
getNTypeImplin classShadedNull- Returns:
- type describing the managed fields of the class of this node
-
newInstance
Description copied from class:NodeThis method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
newInstancein 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:
getSurfaceAreain 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:
getVolumein classShadedNull- Returns:
- volume
-