Class OctNode
- java.lang.Object
-
- gov.nih.mipav.view.renderer.WildMagic.Poisson.Octree.OctNode
-
- All Implemented Interfaces:
java.util.Comparator
public class OctNode extends java.lang.Object implements java.util.Comparator
-
-
Field Summary
Fields Modifier and Type Field Description static Allocator<OctNode>AllocatorOctNode[]childrenshort[]dstatic intDepthMaskstatic intDepthShiftstatic intDIMENSIONprivate GeometrygeoTreeNodeDatanodeDatashort[]offstatic intOffsetMaskstatic intOffsetShiftstatic intOffsetShift1static intOffsetShift2static intOffsetShift3OctNodeparentprivate static intUseAlloc
-
Constructor Summary
Constructors Constructor Description OctNode()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description OctNode__edgeNeighbor(int[] o, int[] i, int[] idx)OctNode__edgeNeighbor(int[] o, int[] i, int[] idx, int forceChildren)OctNode__faceNeighbor(int dir, int off)OctNode__faceNeighbor(int dir, int off, int forceChildren)static void__ProcessFixedDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, int depth, NodeAdjacencyFunction F)static void__ProcessMaxDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, int depth, NodeAdjacencyFunction F)static void__ProcessNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, NodeAdjacencyFunction F)void__processNodeEdges(OctNode node, NodeAdjacencyFunction F, int[] cIndex1, int[] cIndex2)void__processNodeFaces(OctNode node, NodeAdjacencyFunction F, int[] cIndex1, int[] cIndex2, int[] cIndex3, int[] cIndex4)void__processNodeNodes(OctNode node, NodeAdjacencyFunction F)static void__ProcessPointAdjacentNodes(int dx, int dy, int dz, OctNode node2, int radius2, int cWidth2, PointAdjacencyFunction F)static void__ProcessTerminatingNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, TerminatingNodeAdjacencyFunction F)voidcenterAndWidth(Point3D center, float[] width)static voidCenterAndWidth(long index, Point3D center, float[] width)voidcenterIndex(int maxDepth, int[] index)static intChildOverlap(int dx, int dy, int dz, int d, int cRadius2)static intCommonEdge(OctNode node1, int eIndex1, OctNode node2, int eIndex2)intcompare(java.lang.Object v1, java.lang.Object v2)static intCompareBackwardDepths(java.lang.Object v1, java.lang.Object v2)static intCompareBackwardPointerDepths(java.lang.Object v1, java.lang.Object v2)static intCompareForwardDepths(java.lang.Object v1, java.lang.Object v2)static intCompareForwardPointerDepths(java.lang.Object v1, java.lang.Object v2)OctNodecopy()static intCornerIndex(Point3D center, Point3D p)OctNodecornerNeighbor(int cornerIndex)OctNodecornerNeighbor(int cornerIndex, int forceChildren)intdepth()static intDepth(long index)voiddepthAndOffset(int[] depth, int[] offset)static voidDepthAndOffset(long index, int[] depth, int[] offset)voiddispose()OctNodeedgeNeighbor(int edgeIndex)OctNodeedgeNeighbor(int edgeIndex, int forceChildren)OctNodefaceNeighbor(int faceIndex)OctNodefaceNeighbor(int faceIndex, int forceChildren)OctNodegetNearestLeaf(Point3D p)static voidIndex(int depth, int[] offset, short[] d, short[] off)intinitChildren()intleaves()intmaxDepth()intmaxDepthLeaves(int maxDepth)OctNodenextBranch(OctNode current)OctNodenextLeaf(OctNode current)OctNodenextNode(OctNode current)intnodes()static booleanOverlap(int c1, int c2, int c3, int dWidth)static booleanOverlap2(int depth1, int[] offSet1, float multiplier1, int depth2, int[] offSet2, float multiplier2)voidprintRange()static voidProcessFixedDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)static voidProcessFixedDepthNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)static voidProcessMaxDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)static voidProcessMaxDepthNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)static voidProcessNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, NodeAdjacencyFunction F, int processCurrent)static voidProcessNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, NodeAdjacencyFunction F, int processCurrent)voidprocessNodeCorners(OctNode node, NodeAdjacencyFunction F, int cIndex, int processCurrent)voidprocessNodeEdges(OctNode node, NodeAdjacencyFunction F, int eIndex, int processCurrent)voidprocessNodeFaces(OctNode node, NodeAdjacencyFunction F, int fIndex, int processCurrent)voidprocessNodeNodes(OctNode node, NodeAdjacencyFunction F, int processCurrent)static voidProcessPointAdjacentNodes(int maxDepth, int[] c1, OctNode node2, int width2, PointAdjacencyFunction F, int processCurrent)static voidProcessPointAdjacentNodes(int dx, int dy, int dz, OctNode node2, int radius2, int width2, PointAdjacencyFunction F, int processCurrent)static voidProcessTerminatingNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, TerminatingNodeAdjacencyFunction F, int processCurrent)static voidProcessTerminatingNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, TerminatingNodeAdjacencyFunction F, int processCurrent)OctNoderoot()OctNodeset(OctNode node)static voidSetAllocator(int blockSize)voidsetFullDepth(int maxDepth)static intUseAllocator()intwidth(int maxDepth)
-
-
-
Field Detail
-
UseAlloc
private static int UseAlloc
-
geo
private Geometry geo
-
DIMENSION
public static int DIMENSION
-
parent
public OctNode parent
-
children
public OctNode[] children
-
d
public short[] d
-
off
public short[] off
-
nodeData
public TreeNodeData nodeData
-
DepthShift
public static final int DepthShift
- See Also:
- Constant Field Values
-
OffsetShift
public static final int OffsetShift
- See Also:
- Constant Field Values
-
DepthMask
public static final int DepthMask
- See Also:
- Constant Field Values
-
OffsetMask
public static final int OffsetMask
- See Also:
- Constant Field Values
-
OffsetShift1
public static final int OffsetShift1
- See Also:
- Constant Field Values
-
OffsetShift2
public static final int OffsetShift2
- See Also:
- Constant Field Values
-
OffsetShift3
public static final int OffsetShift3
- See Also:
- Constant Field Values
-
-
Method Detail
-
copy
public OctNode copy()
-
SetAllocator
public static void SetAllocator(int blockSize)
-
UseAllocator
public static int UseAllocator()
-
dispose
public void dispose()
-
setFullDepth
public void setFullDepth(int maxDepth)
-
initChildren
public int initChildren()
-
Index
public static final void Index(int depth, int[] offset, short[] d, short[] off)
-
depthAndOffset
public final void depthAndOffset(int[] depth, int[] offset)
-
depth
public final int depth()
-
DepthAndOffset
public static final void DepthAndOffset(long index, int[] depth, int[] offset)
-
Depth
public static final int Depth(long index)
-
centerAndWidth
public final void centerAndWidth(Point3D center, float[] width)
-
CenterAndWidth
public static final void CenterAndWidth(long index, Point3D center, float[] width)
-
maxDepth
public final int maxDepth()
-
nodes
public final int nodes()
-
leaves
public final int leaves()
-
maxDepthLeaves
public final int maxDepthLeaves(int maxDepth)
-
root
public final OctNode root()
-
printRange
public void printRange()
-
processNodeNodes
public void processNodeNodes(OctNode node, NodeAdjacencyFunction F, int processCurrent)
-
processNodeFaces
public void processNodeFaces(OctNode node, NodeAdjacencyFunction F, int fIndex, int processCurrent)
-
processNodeEdges
public void processNodeEdges(OctNode node, NodeAdjacencyFunction F, int eIndex, int processCurrent)
-
processNodeCorners
public void processNodeCorners(OctNode node, NodeAdjacencyFunction F, int cIndex, int processCurrent)
-
__processNodeNodes
public void __processNodeNodes(OctNode node, NodeAdjacencyFunction F)
-
__processNodeEdges
public void __processNodeEdges(OctNode node, NodeAdjacencyFunction F, int[] cIndex1, int[] cIndex2)
-
__processNodeFaces
public void __processNodeFaces(OctNode node, NodeAdjacencyFunction F, int[] cIndex1, int[] cIndex2, int[] cIndex3, int[] cIndex4)
-
ProcessNodeAdjacentNodes
public static void ProcessNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, NodeAdjacencyFunction F, int processCurrent)
-
ProcessNodeAdjacentNodes
public static void ProcessNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, NodeAdjacencyFunction F, int processCurrent)
-
ProcessTerminatingNodeAdjacentNodes
public static void ProcessTerminatingNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, TerminatingNodeAdjacencyFunction F, int processCurrent)
-
ProcessTerminatingNodeAdjacentNodes
public static void ProcessTerminatingNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, TerminatingNodeAdjacencyFunction F, int processCurrent)
-
ProcessPointAdjacentNodes
public static void ProcessPointAdjacentNodes(int maxDepth, int[] c1, OctNode node2, int width2, PointAdjacencyFunction F, int processCurrent)
-
ProcessPointAdjacentNodes
public static void ProcessPointAdjacentNodes(int dx, int dy, int dz, OctNode node2, int radius2, int width2, PointAdjacencyFunction F, int processCurrent)
-
ProcessFixedDepthNodeAdjacentNodes
public static void ProcessFixedDepthNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)
-
ProcessFixedDepthNodeAdjacentNodes
public static void ProcessFixedDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)
-
ProcessMaxDepthNodeAdjacentNodes
public static void ProcessMaxDepthNodeAdjacentNodes(int maxDepth, OctNode node1, int width1, OctNode node2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)
-
ProcessMaxDepthNodeAdjacentNodes
public static void ProcessMaxDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int width2, int depth, NodeAdjacencyFunction F, int processCurrent)
-
__ProcessNodeAdjacentNodes
public static void __ProcessNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, NodeAdjacencyFunction F)
-
__ProcessTerminatingNodeAdjacentNodes
public static void __ProcessTerminatingNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, TerminatingNodeAdjacencyFunction F)
-
__ProcessPointAdjacentNodes
public static void __ProcessPointAdjacentNodes(int dx, int dy, int dz, OctNode node2, int radius2, int cWidth2, PointAdjacencyFunction F)
-
__ProcessFixedDepthNodeAdjacentNodes
public static void __ProcessFixedDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, int depth, NodeAdjacencyFunction F)
-
__ProcessMaxDepthNodeAdjacentNodes
public static void __ProcessMaxDepthNodeAdjacentNodes(int dx, int dy, int dz, OctNode node1, int radius1, OctNode node2, int radius2, int cWidth2, int depth, NodeAdjacencyFunction F)
-
ChildOverlap
public static final int ChildOverlap(int dx, int dy, int dz, int d, int cRadius2)
-
CompareForwardDepths
public static int CompareForwardDepths(java.lang.Object v1, java.lang.Object v2)
-
CompareForwardPointerDepths
public static int CompareForwardPointerDepths(java.lang.Object v1, java.lang.Object v2)
-
compare
public int compare(java.lang.Object v1, java.lang.Object v2)- Specified by:
comparein interfacejava.util.Comparator
-
CompareBackwardDepths
public static int CompareBackwardDepths(java.lang.Object v1, java.lang.Object v2)
-
CompareBackwardPointerDepths
public static int CompareBackwardPointerDepths(java.lang.Object v1, java.lang.Object v2)
-
Overlap2
public static final boolean Overlap2(int depth1, int[] offSet1, float multiplier1, int depth2, int[] offSet2, float multiplier2)
-
Overlap
public static final boolean Overlap(int c1, int c2, int c3, int dWidth)
-
faceNeighbor
public OctNode faceNeighbor(int faceIndex)
-
faceNeighbor
public OctNode faceNeighbor(int faceIndex, int forceChildren)
-
__faceNeighbor
public OctNode __faceNeighbor(int dir, int off, int forceChildren)
-
__faceNeighbor
public final OctNode __faceNeighbor(int dir, int off)
-
edgeNeighbor
public OctNode edgeNeighbor(int edgeIndex, int forceChildren)
-
edgeNeighbor
public final OctNode edgeNeighbor(int edgeIndex)
-
__edgeNeighbor
public final OctNode __edgeNeighbor(int[] o, int[] i, int[] idx)
-
__edgeNeighbor
public OctNode __edgeNeighbor(int[] o, int[] i, int[] idx, int forceChildren)
-
cornerNeighbor
public final OctNode cornerNeighbor(int cornerIndex)
-
cornerNeighbor
public OctNode cornerNeighbor(int cornerIndex, int forceChildren)
-
width
public final int width(int maxDepth)
-
centerIndex
public final void centerIndex(int maxDepth, int[] index)
-
-