org.deegree.rendering.r3d.multiresolution
Class MultiresolutionMesh

java.lang.Object
  extended by org.deegree.rendering.r3d.multiresolution.MultiresolutionMesh

public class MultiresolutionMesh
extends Object

Implementation of a fragment based multiresolution model for massive triangle meshes (e.g. large terrain surfaces, but also suitable for free-form surfaces) based on the Batched Multi-Triangulation as described by Cignoni et al.

This class encapsulates the augmented multiresolution-DAG:

Version:
$Revision: 29152 $
Author:
Markus Schneider, last edited by: $Author: mschneider $
See Also:
SelectiveRefinement, SpatialSelection, LODCriterion

Field Summary
 Arc[] arcs
          Contains all Arcs of the DAG, the array index corresponds to its id.
 MeshFragment[] fragments
          Contains all MeshFragments of the DAG, the array index corresponds to its id.
static String FRAGMENTS_FILE_NAME
          Default name for the binary file that contains the mesh fragments.
static String INDEX_FILE_NAME
          Default name for the binary index file that contains the multiresolution DAG.
 Node[] nodes
          Contains all Nodes of the DAG, the array index corresponds to its id.
 
Constructor Summary
MultiresolutionMesh(File dir, DirectByteBufferPool directBufferPool)
          Creates a new MultiresolutionMesh by reading the fragment (FRAGMENTS_FILE_NAME) and index ( INDEX_FILE_NAME) blobs in the given directory.
MultiresolutionMesh(File mrIndex, File meshFragments, DirectByteBufferPool directBufferPool)
          Creates a new MultiresolutionMesh by reading the specified fragment (FRAGMENTS_FILE_NAME) and index ( INDEX_FILE_NAME) blobs.
 
Method Summary
 List<MeshFragment> extractLOD(LODCriterion crit)
          Extracts the smallest LOD that satisfies the given LOD criterion.
 List<MeshFragment> extractLODFragment(LODCriterion crit, ViewFrustum roi)
          Extracts the smallest LOD fragment that satisfies the given LOD criterion .
 double[][] getBBox()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FRAGMENTS_FILE_NAME

public static final String FRAGMENTS_FILE_NAME
Default name for the binary file that contains the mesh fragments.

See Also:
Constant Field Values

INDEX_FILE_NAME

public static final String INDEX_FILE_NAME
Default name for the binary index file that contains the multiresolution DAG.

See Also:
Constant Field Values

nodes

public Node[] nodes
Contains all Nodes of the DAG, the array index corresponds to its id.


arcs

public Arc[] arcs
Contains all Arcs of the DAG, the array index corresponds to its id.


fragments

public MeshFragment[] fragments
Contains all MeshFragments of the DAG, the array index corresponds to its id.

Constructor Detail

MultiresolutionMesh

public MultiresolutionMesh(File dir,
                           DirectByteBufferPool directBufferPool)
                    throws IOException
Creates a new MultiresolutionMesh by reading the fragment (FRAGMENTS_FILE_NAME) and index ( INDEX_FILE_NAME) blobs in the given directory.

Parameters:
dir - directory that contains the fragment and index blobs to be read
Throws:
IOException

MultiresolutionMesh

public MultiresolutionMesh(File mrIndex,
                           File meshFragments,
                           DirectByteBufferPool directBufferPool)
                    throws IOException
Creates a new MultiresolutionMesh by reading the specified fragment (FRAGMENTS_FILE_NAME) and index ( INDEX_FILE_NAME) blobs.

Parameters:
mrIndex - index blob
meshFragments - fragment blob
Throws:
IOException
Method Detail

getBBox

public final double[][] getBBox()
Returns:
the domain of this multiresolution mesh as read from the first macro triangle fragment.

extractLOD

public List<MeshFragment> extractLOD(LODCriterion crit)
Extracts the smallest LOD that satisfies the given LOD criterion.

Parameters:
crit - criterion that the LOD must satisfies
Returns:
smallest LOD that satisfies the given LOD criterion

extractLODFragment

public List<MeshFragment> extractLODFragment(LODCriterion crit,
                                             ViewFrustum roi)
Extracts the smallest LOD fragment that satisfies the given LOD criterion .

Parameters:
crit - criterion that the LOD must satisfies
roi -
Returns:
smallest LOD that satisfies the given LOD criterion


Copyright © 2011. All Rights Reserved.