java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp3d.objects.Null
de.grogra.pointcloud.objects.PointCloudBase
de.grogra.pointcloud.objects.impl.PointCloudBaseImpl
- All Implemented Interfaces:
Transformation
,Manageable
,PersistenceCapable
,Shareable
,UserFields
,XObject
,Map
,Serializable
Handling adding nodes and their persistence should be managed by a graph manager and a persistence
manager.
- 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 String
static final Node.NType.Field
protected String
static final Node.NType.Field
Fields inherited from class de.grogra.pointcloud.objects.PointCloudBase
balancingFactor, childrenType, numberOfChild
Fields inherited from class de.grogra.imp3d.objects.Null
transform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELD, USED_BITS
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
ConstructorDescriptionPointCloudBaseImpl
(String name, long balancingFactor, long depth, Class type) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addPoint
(PointCloudLeaf node) void
addPoint
(PointCloudLeaf[] nodes) static long
computeDepthFromNandD
(long n, long d) get the depth of the tree based on the number of leaves n, and the degree of the treecreateLeaf
(Object[] args) args is the set of arguments that the leaf constructor takes in.long
Here we consider the max degree of the graph as balancing factorprotected Class<? extends PointCloudLeaf>
long
getDepth()
double
Calculates and returns the maximum X-coordinate value among all leaf nodes.double
Calculates and returns the maximum Y-coordinate value among all leaf nodes.double
Calculates and returns the maximum Z-coordinate value among all leaf nodes.double
Calculates and returns the minimum X-coordinate value among all leaf nodes.double
Calculates and returns the minimum Y-coordinate value among all leaf nodes.double
Calculates and returns the minimum Z-coordinate value among all leaf nodes.protected Node.NType
This method returns theNode.NType
which describes the managed fields of the class of this node.long
getSize()
void
merge
(PointCloudBase pc) Merges the leaf nodes of the specified point cloud into the current point cloud.protected Node
This method returns a new instance of the class of this node.void
void
removePoint
(PointCloudLeaf[] nodes) void
removePoint
(Object id) void
setMaxId
(long id) void
setMinId
(long id) Splits the point cloud by a given plane.split
(PointCloudLeaf[] nodes) Splits the point cloud by a set of leaves.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, getSymbolColor, 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
-
sourceName
-
childrenClass
-
$TYPE
-
sourceName$FIELD
-
childrenClass$FIELD
-
-
Constructor Details
-
PointCloudBaseImpl
public PointCloudBaseImpl() -
PointCloudBaseImpl
-
-
Method Details
-
computeDepthFromNandD
public static long computeDepthFromNandD(long n, long d) get the depth of the tree based on the number of leaves n, and the degree of the tree- Parameters:
n
-d
-- Returns:
-
addPoint
- Specified by:
addPoint
in classPointCloudBase
-
addPoint
- Specified by:
addPoint
in classPointCloudBase
-
createLeaf
args is the set of arguments that the leaf constructor takes in. e.g. for pointcloudpointimpl it is float x, float y, float z- Parameters:
args
-- Returns:
-
getChildrenType
- Specified by:
getChildrenType
in classPointCloudBase
- Throws:
ClassNotFoundException
-
removePoint
- Specified by:
removePoint
in classPointCloudBase
-
removePoint
- Specified by:
removePoint
in classPointCloudBase
-
rebalance
public void rebalance()- Specified by:
rebalance
in classPointCloudBase
-
merge
Merges the leaf nodes of the specified point cloud into the current point cloud.- Specified by:
merge
in classPointCloudBase
- Parameters:
pc
- The point cloud from which leaf nodes will be merged.
-
split
Splits the point cloud by a set of leaves. Removes the leaves from the point cloud and creates a new point cloud.- Specified by:
split
in classPointCloudBase
- Parameters:
nodes
- An Array containing leaf nodes- Returns:
- PointCloudBase A new point cloud containing the leaves
-
split
Splits the point cloud by a given plane. Removes the leaves from the point cloud and creates a new point cloud.- Specified by:
split
in classPointCloudBase
- Parameters:
plane
- to be used as cutting object- Returns:
- PointCloudBase A new point cloud containing the leaves above the plane
-
getMinimumX
public double getMinimumX()Calculates and returns the minimum X-coordinate value among all leaf nodes.- Returns:
- The minimum X-coordinate value among all leaf nodes, or 0 if no leaf nodes are present.
-
getMinimumY
public double getMinimumY()Calculates and returns the minimum Y-coordinate value among all leaf nodes.- Returns:
- The minimum Y-coordinate value among all leaf nodes, or 0 if no leaf nodes are present.
-
getMinimumZ
public double getMinimumZ()Calculates and returns the minimum Z-coordinate value among all leaf nodes.- Returns:
- The minimum Z-coordinate value among all leaf nodes, or 0 if no leaf nodes are present.
-
getMaximumX
public double getMaximumX()Calculates and returns the maximum X-coordinate value among all leaf nodes.- Returns:
- The maximum X-coordinate value among all leaf nodes, or 0 if no leaf nodes are present.
-
getMaximumY
public double getMaximumY()Calculates and returns the maximum Y-coordinate value among all leaf nodes.- Returns:
- The maximum Y-coordinate value among all leaf nodes, or 0 if no leaf nodes are present.
-
getMaximumZ
public double getMaximumZ()Calculates and returns the maximum Z-coordinate value among all leaf nodes.- Returns:
- The maximum Z-coordinate value among all leaf nodes, or 0 if no leaf nodes are present.
-
split
- Specified by:
split
in classPointCloudBase
-
getSize
public long getSize() -
getBalancindFactor
public long getBalancindFactor()Here we consider the max degree of the graph as balancing factor -
getDepth
public long getDepth() -
setMinId
public void setMinId(long id) -
setMaxId
public void setMaxId(long id) -
getFirstLeaf
- Specified by:
getFirstLeaf
in classPointCloudBase
-
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 classNull
- 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 classNull
- Returns:
- new instance of class of this node
-
getSourceName
- Specified by:
getSourceName
in classPointCloudBase
-
getChildrenClass
-