de.grogra.imp3d.objects
Class PointCloud
java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp3d.objects.Null
de.grogra.imp3d.objects.ColoredNull
de.grogra.imp3d.objects.PointCloud
- All Implemented Interfaces:
- Transformation, Pickable, Renderable, Manageable, PersistenceCapable, Shareable, UserFields, XObject, Map, java.io.Serializable
public class PointCloud
- extends ColoredNull
- implements Renderable, Pickable
This class represents a point cloud.
For now, only point locations and a color (for all points the same)
can be set, but no normals. The parameter pointSize controls how big
points are displayed on the screen.
- Author:
- Reinhard Hemmerling
TODO implement selection
- See Also:
- Serialized Form
Nested classes/interfaces inherited from interface de.grogra.util.Map |
Map.Chain |
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 |
Constructor Summary |
PointCloud()
Create a new empty point cloud. |
PointCloud(float[] points)
Create a new point cloud and set the points to the provided array. |
PointCloud(float[] points,
float pointSize)
Create a new point cloud and set the points to the provided array. |
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, getSymbolColor, 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 |
$TYPE
public static final Node.NType $TYPE
points$FIELD
public static final Node.NType.Field points$FIELD
pointSize$FIELD
public static final Node.NType.Field pointSize$FIELD
PointCloud
public PointCloud()
- Create a new empty point cloud.
PointCloud
public PointCloud(float[] points)
- Create a new point cloud and set the points to the provided array.
- Parameters:
points
- the coordinates of the points
PointCloud
public PointCloud(float[] points,
float pointSize)
- Create a new point cloud and set the points to the provided array.
- Parameters:
points
- the coordinates of the pointspointSize
- size of a point on screen
draw
public void draw(java.lang.Object object,
boolean asNode,
RenderState rs)
- Specified by:
draw
in interface Renderable
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 Null
- Returns:
- type describing the managed fields of the class of this node
getPoints
public float[] getPoints()
- Make a copy of the points and return them.
- Returns:
- the points
getPointSize
public float getPointSize()
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 Null
- 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 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
setPoints
public void setPoints(float[] points)
- Make a copy of the points and store it.
Points are given by a triple of floats for (x,y,z).
The array thus stores points in the form [x0,y0,z0,x1,y1,z1,...].
- Parameters:
points
- the points to set
setPointSize
public void setPointSize(float value)