Class Octree
java.lang.Object
gov.nih.mipav.view.renderer.WildMagic.Poisson.Octree.Octree
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intstatic intstatic floatprivate Geometrystatic doublestatic doublestatic int(package private) NeighborKey(package private) NeighborKey2static floatfloat(package private) floatstatic intstatic float(package private) int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intAddTriangles(CoredMeshData mesh, Vector<CoredPointIndex>[] edges, Vector<Point3D> interiorPositions, int offSet) static intAddTriangles(CoredMeshData mesh, Vector<CoredPointIndex> edges, Vector<Point3D> interiorPositions, int offSet) voidClipTree()static intEdgeRootCount(OctNode node, int edgeIndex, int maxDepth) voidfinalize1(int refineNeighbors) voidfinalize2(int refineNeighbors) floatgetCenterValue(OctNode node) floatgetCornerValue(OctNode node, int corner) voidgetCornerValueAndNormal(OctNode node, int corner, float[] value, Point3D normal) final floatGetDivergence(int[] idx, Point3D normal) final floatGetDotProduct(int[] idx) static intintGetFixedDepthLaplacian(SparseSymmetricMatrix matrix, int depth, SortedTreeNodes sNodes) floatfinal floatGetLaplacian(int[] idx) voidGetMCIsoEdges(OctNode node, HashMap<Long, Integer> boundaryRoots, HashMap<Long, Integer> interiorRoots, int sDepth, Vector<Pair<Long, Long>> edges) voidGetMCIsoTriangles(float isoValue, CoredMeshData mesh, int fullDepthIso, int nonLinearFit) intGetMCIsoTriangles(OctNode node, CoredMeshData mesh, HashMap<Long, Integer> boundaryRoots, HashMap<Long, Integer> interiorRoots, Vector<Point3D> interiorPositions, int offSet, int sDepth) voidGetMCIsoTriangles(Float isoValue, int subdivideDepth, CoredMeshData mesh, int fullDepthIso, int nonLinearFit) intGetRestrictedFixedDepthLaplacian(SparseSymmetricMatrix matrix, int depth, int[] entries, int entryCount, OctNode rNode, float radius, SortedTreeNodes sNodes) intGetRoot(RootInfo ri, float isoValue, int maxDepth, Point3D position, HashMap<Long, Pair<Float, Point3D>> normals, Point3D normal, int nonLinearFit) intGetRoot(RootInfo ri, float isoValue, Point3D position, HashMap<Long, Pair<Float, Point3D>> normalHash, int nonLinearFit) static intGetRootIndex(OctNode node, int edgeIndex, int maxDepth, int sDepth, RootInfo ri) static booleanGetRootIndex(OctNode node, int edgeIndex, int maxDepth, RootInfo ri) static intGetRootIndex(Long key, HashMap<Long, Integer> boundaryRoots, HashMap<Long, Integer> interiorRoots, CoredPointIndex index) booleanGetRootPair(RootInfo ri, int maxDepth, RootInfo pair) intHasNormals(OctNode node, float epsilon) static intInteriorFaceRootCount(OctNode node, int faceIndex, int maxDepth) static booleanIsBoundaryEdge(OctNode node, int edgeIndex, int subdivideDepth) static booleanIsBoundaryEdge(OctNode node, int dir, int x, int y, int subdivideDepth) static intIsBoundaryFace(OctNode node, int faceIndex, int subdivideDepth) intLaplacianMatrixIteration(int subdivideDepth) voidNonLinearGetSampleDepthAndWeight(OctNode node, Point3D position, float samplesPerNode, float[] depth, float[] weight) floatNonLinearGetSampleWeight(OctNode node, Point3D position) voidNonLinearSplatOrientedPoint(Point3D position, Point3D normal, int splatDepth, float samplesPerNode, int minDepth, int maxDepth) intNonLinearSplatOrientedPoint(OctNode node, Point3D position, Point3D normal) intNonLinearUpdateWeightContribution(OctNode node, Point3D position, float weight) static voidpause()Pauses the display until the user hits enter.voidPreValidate(float isoValue, int maxDepth, int subdivideDepth) voidPreValidate(OctNode node, float isoValue, int maxDepth, int subdivideDepth) voidreadLine(InputStream in) intSetBoundaryMCRootPositions(int sDepth, float isoValue, HashMap<Long, Integer> boundaryRoots, HashMap<Long, Pair<Float, Point3D>> boundaryNormalHash, CoredMeshData mesh, int nonLinearFit) voidsetFunctionData(PPolynomial ReconstructionFunction, int maxDepth, int normalize, float normalSmooth) voidSetIsoSurfaceCorners(float isoValue, int subdivideDepth, int fullDepthIso) voidintSetMCRootPositions(OctNode node, int sDepth, float isoValue, HashMap<Long, Integer> boundaryRoots, HashMap<Long, Integer> interiorRoots, HashMap<Long, Pair<Float, Point3D>> boundaryNormalHash, HashMap<Long, Pair<Float, Point3D>> interiorNormalHash, Vector<Point3D> interiorPositions, CoredMeshData mesh, int nonLinearFit) voidsetNodeIndices(OctNode node, int[] idx) intsetTree(String fileName, int maxDepth, int binary, int kernelDepth, float samplesPerNode, float scaleFactor, Point3D center, float[] scale, int resetSamples, int useConfidence) intSolveFixedDepthMatrix(int depth, int startingDepth, SortedTreeNodes sNodes) intSolveFixedDepthMatrix(int depth, SortedTreeNodes sNodes) voidvoidvoid
-
Field Details
-
DIMENSION
public static int DIMENSION -
neighborKey
NeighborKey neighborKey -
neighborKey2
NeighborKey2 neighborKey2 -
radius
float radius -
width
int width -
maxMemoryUsage
public static double maxMemoryUsage -
normals
-
postNormalSmooth
public float postNormalSmooth -
tree
-
fData
-
ITERATION_POWER
public static double ITERATION_POWER -
MEMORY_ALLOCATOR_BLOCK_SIZE
public static int MEMORY_ALLOCATOR_BLOCK_SIZE -
READ_SIZE
public static int READ_SIZE -
PAD_SIZE
public static float PAD_SIZE -
EPSILON
public static float EPSILON -
ROUND_EPS
public static float ROUND_EPS -
geo
-
Degree
private int Degree
-
-
Constructor Details
-
Octree
public Octree(int _Degree)
-
-
Method Details
-
setNodeIndices
-
NonLinearSplatOrientedPoint
-
NonLinearSplatOrientedPoint
-
NonLinearGetSampleDepthAndWeight
-
NonLinearGetSampleWeight
-
NonLinearUpdateWeightContribution
-
pause
public static void pause()Pauses the display until the user hits enter. -
readLine
- Throws:
IOException
-
setTree
-
setFunctionData
public void setFunctionData(PPolynomial ReconstructionFunction, int maxDepth, int normalize, float normalSmooth) -
finalize1
public void finalize1(int refineNeighbors) -
finalize2
public void finalize2(int refineNeighbors) -
GetDivergence
-
GetLaplacian
public final float GetLaplacian(int[] idx) -
GetDotProduct
public final float GetDotProduct(int[] idx) -
GetFixedDepthLaplacian
-
GetRestrictedFixedDepthLaplacian
public int GetRestrictedFixedDepthLaplacian(SparseSymmetricMatrix matrix, int depth, int[] entries, int entryCount, OctNode rNode, float radius, SortedTreeNodes sNodes) -
LaplacianMatrixIteration
public int LaplacianMatrixIteration(int subdivideDepth) -
SolveFixedDepthMatrix
-
SolveFixedDepthMatrix
-
HasNormals
-
printTree
public void printTree() -
ClipTree
public void ClipTree() -
SetLaplacianWeights
public void SetLaplacianWeights() -
GetMCIsoTriangles
public void GetMCIsoTriangles(float isoValue, CoredMeshData mesh, int fullDepthIso, int nonLinearFit) -
GetMCIsoTriangles
public void GetMCIsoTriangles(Float isoValue, int subdivideDepth, CoredMeshData mesh, int fullDepthIso, int nonLinearFit) -
getCenterValue
-
getCornerValue
-
getCornerValueAndNormal
-
GetIsoValue
public float GetIsoValue() -
SetIsoSurfaceCorners
public void SetIsoSurfaceCorners(float isoValue, int subdivideDepth, int fullDepthIso) -
Subdivide
-
InteriorFaceRootCount
-
EdgeRootCount
-
IsBoundaryFace
-
IsBoundaryEdge
-
IsBoundaryEdge
-
PreValidate
-
PreValidate
public void PreValidate(float isoValue, int maxDepth, int subdivideDepth) -
Validate
-
Validate
public void Validate(OctNode node, float isoValue, int maxDepth, int fullDepthIso, int subdivideDepth) -
GetRoot
-
GetRoot
-
GetRootIndex
-
GetRootIndex
-
GetRootPair
-
GetRootIndex
-
SetMCRootPositions
public int SetMCRootPositions(OctNode node, int sDepth, float isoValue, HashMap<Long, Integer> boundaryRoots, HashMap<Long, Integer> interiorRoots, HashMap<Long, Pair<Float, Point3D>> boundaryNormalHash, HashMap<Long, Pair<Float, Point3D>> interiorNormalHash, Vector<Point3D> interiorPositions, CoredMeshData mesh, int nonLinearFit) -
SetBoundaryMCRootPositions
-
GetMCIsoEdges
-
GetMCIsoTriangles
-
GetEdgeLoops
-
AddTriangles
public static int AddTriangles(CoredMeshData mesh, Vector<CoredPointIndex>[] edges, Vector<Point3D> interiorPositions, int offSet) -
AddTriangles
public static int AddTriangles(CoredMeshData mesh, Vector<CoredPointIndex> edges, Vector<Point3D> interiorPositions, int offSet)
-