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.Sphere
de.grogra.imp3d.objects.VoronoiCell
- All Implemented Interfaces:
Transformation
,Pickable
,Raytraceable
,Renderable
,Manageable
,PersistenceCapable
,Shareable
,UserFields
,XObject
,Map
,Serializable
- See Also:
-
Nested Class Summary
Nested ClassesNested 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 boolean
static final Node.NType.Field
protected boolean
static final Node.NType.Field
protected boolean
static final Node.NType.Field
protected boolean
static final Node.NType.Field
protected boolean
static final Node.NType.Field
protected boolean
static final Node.NType.Field
protected boolean
static final Node.NType.Field
protected boolean
static final Node.NType.Field
Fields inherited from class de.grogra.imp3d.objects.Sphere
radius, radius$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
ConstructorsConstructorDescriptionVoronoiCell
(float radius) VoronoiCell
(float radius, double x, double y, double z) VoronoiCell
(float radius, double i, double j, double k, double scale) VoronoiCell
(float radius, Tuple3d p) -
Method Summary
Modifier and TypeMethodDescriptioncreateRaytracerLeaf
(Object object, boolean asNode, long pathId, GraphState gs) final void
Account for the deletion of an adjacent tetrahedron.void
draw
(Object object, boolean asNode, RenderState rs) final Tetrahedron
Answer one of the adjacent tetrahedronAnswer the cleaned collection of neighbouring VoronoiCells around this one.Answer the collection of neighbouring VoronoiCells around this one.protected Node.NType
This method returns theNode.NType
which describes the managed fields of the class of this node.int
Answer the number of neighbouring VoronoiCells around this one.int
Answer the number of neighbouring VoronoiCells around this one.final int
getOrder()
Answer the number of tetrahedra adjacent to the receiver vertex in the tetrahedralizationdouble
Calculates the area of an object.double
Calculates the volume.Point3d[]
returns an array of points that build the voronoi faces for this VoronoiCellreturns a list of points that build the voronoi faces for this VoronoiCellreturns a set of points that build the voronoi faces for this VoronoiCelldouble
getX()
double
getY()
double
getZ()
final int
inSphere
(VoronoiCell a, VoronoiCell b, VoronoiCell c, VoronoiCell d) Return +1 if the receiver lies inside the sphere passing through a, b, c, and d; -1 if it lies outside; and 0 if the five points are cospherical.protected boolean
isAuxiliary
(Point3d[] face) boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
protected Node
This method returns a new instance of the class of this node.final int
orientation
(VoronoiCell a, VoronoiCell b, VoronoiCell c) Answer +1 if the orientation of the receiver is positive with respect to the plane defined by {a, b, c}, -1 if negative, or 0 if the test point is coplanarstatic void
void
Computes intersections of a given ray with this shape.final void
reset()
Reset the state associated with a tetrahedralization.final void
setAdjacent
(Tetrahedron tetrahedron) Note one of the adjacent tetrahedronvoid
setShowDelaunayDiagram
(boolean value) void
setShowDelaunayFaces
(boolean value) void
setShowDelaunayPoints
(boolean value) void
setShowNeighbours
(boolean value) void
setShowVoronoiDiagram
(boolean value) void
setShowVoronoiFaces
(boolean value) void
setShowVoronoiNucleus
(boolean value) void
setShowVoronoiPoints
(boolean value) void
setTetrahedralization
(Tetrahedralization tetrahedralization) toString()
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, 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
-
showVoronoiNucleus
protected boolean showVoronoiNucleus -
showNeighbours
protected boolean showNeighbours -
showVoronoiDiagram
protected boolean showVoronoiDiagram -
showVoronoiFaces
protected boolean showVoronoiFaces -
showVoronoiPoints
protected boolean showVoronoiPoints -
showDelaunayDiagram
protected boolean showDelaunayDiagram -
showDelaunayFaces
protected boolean showDelaunayFaces -
showDelaunayPoints
protected boolean showDelaunayPoints -
$TYPE
-
showVoronoiNucleus$FIELD
-
showNeighbours$FIELD
-
showVoronoiDiagram$FIELD
-
showVoronoiFaces$FIELD
-
showVoronoiPoints$FIELD
-
showDelaunayDiagram$FIELD
-
showDelaunayFaces$FIELD
-
showDelaunayPoints$FIELD
-
-
Constructor Details
-
VoronoiCell
public VoronoiCell() -
VoronoiCell
public VoronoiCell(float radius) -
VoronoiCell
-
VoronoiCell
public VoronoiCell(float radius, double x, double y, double z) -
VoronoiCell
public VoronoiCell(float radius, double i, double j, double k, double scale)
-
-
Method Details
-
setTetrahedralization
-
getX
public double getX() -
getY
public double getY() -
getZ
public double getZ() -
asPoint3f
-
asPoint3d
-
deleteAdjacent
public final void deleteAdjacent()Account for the deletion of an adjacent tetrahedron. -
getAdjacent
Answer one of the adjacent tetrahedron- Returns:
-
getOrder
public final int getOrder()Answer the number of tetrahedra adjacent to the receiver vertex in the tetrahedralization- Returns:
-
getVoronoiPointsSet
returns a set of points that build the voronoi faces for this VoronoiCell- Returns:
- set of voronoi points
-
getVoronoiPointsArray
returns an array of points that build the voronoi faces for this VoronoiCell- Returns:
- array of voronoi points
-
getVoronoiPointsList
returns a list of points that build the voronoi faces for this VoronoiCell- Returns:
- list of voronoi points
-
getNeighboursAll
Answer the collection of neighbouring VoronoiCells around this one.- Returns:
- collection of neighbouring VoronoiCells
-
getNeighbours
Answer the cleaned collection of neighbouring VoronoiCells around this one. (cleaned --> without VoronoiCell.getId()==-1)- Returns:
- cleaned collection of neighbouring VoronoiCells
-
getNumberOfNeighboursAll
public int getNumberOfNeighboursAll()Answer the number of neighbouring VoronoiCells around this one.- Returns:
- number of neighbouring VoronoiCells
-
getNumberOfNeighbours
public int getNumberOfNeighbours()Answer the number of neighbouring VoronoiCells around this one.- Returns:
- number of neighbouring VoronoiCells
-
inSphere
Return +1 if the receiver lies inside the sphere passing through a, b, c, and d; -1 if it lies outside; and 0 if the five points are cospherical. The vertices a, b, c, and d must be ordered so that they have a positive orientation (as defined byorientation(VoronoiCell, VoronoiCell, VoronoiCell)
), or the sign of the result will be reversed.- Parameters:
a
- , b, c, d - the points defining the sphere, in oriented order- Returns:
- +1 if the receiver lies inside the sphere passing through a, b, c, and d; -1 if it lies outside; and 0 if the five points are cospherical
-
orientation
Answer +1 if the orientation of the receiver is positive with respect to the plane defined by {a, b, c}, -1 if negative, or 0 if the test point is coplanar- Parameters:
a
- , b, c - the points defining the plane- Returns:
- +1 if the orientation of the query point is positive with respect to the plane, -1 if negative and 0 if the test point is coplanar
-
reset
public final void reset()Reset the state associated with a tetrahedralization. -
setAdjacent
Note one of the adjacent tetrahedron- Parameters:
tetrahedron
-
-
toString
-
pick
-
pick
public void pick(Object object, boolean asNode, Point3d origin, Vector3d direction, Matrix4d t, PickList list) Description copied from interface:Pickable
Computes intersections of a given ray with this shape.- Specified by:
pick
in interfacePickable
- Overrides:
pick
in classSphere
- 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 coordinatest
- the transformation from local coordinates to world coordinateslist
- the list to which intersections have to be added
-
draw
- Specified by:
draw
in interfaceRenderable
- Overrides:
draw
in classSphere
-
isAuxiliary
-
isAuxiliaryCell
public boolean isAuxiliaryCell() -
isInternalCell
public boolean isInternalCell() -
isBorderCell
public boolean isBorderCell() -
createRaytracerLeaf
- Specified by:
createRaytracerLeaf
in interfaceRaytraceable
- Overrides:
createRaytracerLeaf
in classSphere
-
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 classSphere
- 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 classSphere
- Returns:
- new instance of class of this node
-
isShowVoronoiNucleus
public boolean isShowVoronoiNucleus() -
setShowVoronoiNucleus
public void setShowVoronoiNucleus(boolean value) -
isShowNeighbours
public boolean isShowNeighbours() -
setShowNeighbours
public void setShowNeighbours(boolean value) -
isShowVoronoiDiagram
public boolean isShowVoronoiDiagram() -
setShowVoronoiDiagram
public void setShowVoronoiDiagram(boolean value) -
isShowVoronoiFaces
public boolean isShowVoronoiFaces() -
setShowVoronoiFaces
public void setShowVoronoiFaces(boolean value) -
isShowVoronoiPoints
public boolean isShowVoronoiPoints() -
setShowVoronoiPoints
public void setShowVoronoiPoints(boolean value) -
isShowDelaunayDiagram
public boolean isShowDelaunayDiagram() -
setShowDelaunayDiagram
public void setShowDelaunayDiagram(boolean value) -
isShowDelaunayFaces
public boolean isShowDelaunayFaces() -
setShowDelaunayFaces
public void setShowDelaunayFaces(boolean value) -
isShowDelaunayPoints
public boolean isShowDelaunayPoints() -
setShowDelaunayPoints
public void setShowDelaunayPoints(boolean value) -
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 classSphere
- Returns:
- volume
-
getVolume
public double getVolume()Calculates the volume. Intersection with other object are not considered.The total volume will be calculated.
-