org.deegree.rendering.r3d.opengl.rendering.model.manager
Class RenderableManager<T extends PositionableModel>

java.lang.Object
  extended by org.deegree.rendering.r3d.opengl.rendering.model.manager.RenderableManager<T>
Type Parameters:
T - type of this manager
All Implemented Interfaces:
Iterable<T>, Collection<T>, JOGLRenderable
Direct Known Subclasses:
BuildingRenderer, TreeRenderer

public abstract class RenderableManager<T extends PositionableModel>
extends Object
implements Collection<T>, JOGLRenderable

The RenderableManager is a collection based on a quadtree which can hold PositionableModel objects and cull them according to a given ViewParams view frustum.

Version:
$Revision: 30126 $, $Date: 2011-03-22 11:11:00 +0100 (Tue, 22 Mar 2011) $
Author:
Rutger Bezema, last edited by: $Author: aschmitz $

Constructor Summary
RenderableManager(Envelope validDomain)
           
RenderableManager(Envelope validDomain, int numberOfObjectsInLeaf, double maxPixelError)
           
 
Method Summary
 boolean add(T renderable)
           
 boolean addAll(Collection<? extends T> c)
           
 void clear()
           
 boolean contains(Object o)
           
 boolean containsAll(Collection<?> c)
           
 void createDotFile(String filename)
          Create a graphviz dot representation of this manager.
 double getMaxPixelError()
           
 int getNumberOfObjectsInLeaf()
           
 List<T> getObjects()
           
 List<T> getObjects(Envelope env)
           
 Set<T> getObjects(ViewParams viewParams)
           
 Envelope getValidDomain()
           
 boolean isEmpty()
           
 Iterator<T> iterator()
           
 boolean remove(Object o)
           
 boolean removeAll(Collection<?> c)
           
 boolean retainAll(Collection<?> c)
           
 void setValidDomain(Envelope newDomain)
          (Re) set the valid domain of this renderer.
 int size()
           
 Object[] toArray()
           
<U> U[]
toArray(U[] a)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Collection
equals, hashCode
 
Methods inherited from interface org.deegree.rendering.r3d.opengl.rendering.JOGLRenderable
render
 

Constructor Detail

RenderableManager

public RenderableManager(Envelope validDomain,
                         int numberOfObjectsInLeaf,
                         double maxPixelError)
Parameters:
validDomain -
numberOfObjectsInLeaf -
maxPixelError -

RenderableManager

public RenderableManager(Envelope validDomain)
Parameters:
validDomain - of this Renderable Manager
Method Detail

add

public boolean add(T renderable)
Specified by:
add in interface Collection<T extends PositionableModel>

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<T extends PositionableModel>

getObjects

public List<T> getObjects(Envelope env)
Parameters:
env -
Returns:
the list of objects this manager manages.

getObjects

public Set<T> getObjects(ViewParams viewParams)
Parameters:
viewParams -
Returns:
the list of objects this manager manages.

getObjects

public List<T> getObjects()
Returns:
All objects this manager manages

iterator

public Iterator<T> iterator()
Specified by:
iterator in interface Iterable<T extends PositionableModel>
Specified by:
iterator in interface Collection<T extends PositionableModel>

size

public int size()
Specified by:
size in interface Collection<T extends PositionableModel>

addAll

public boolean addAll(Collection<? extends T> c)
Specified by:
addAll in interface Collection<T extends PositionableModel>

clear

public void clear()
Specified by:
clear in interface Collection<T extends PositionableModel>

contains

public boolean contains(Object o)
Specified by:
contains in interface Collection<T extends PositionableModel>

containsAll

public boolean containsAll(Collection<?> c)
Specified by:
containsAll in interface Collection<T extends PositionableModel>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection<T extends PositionableModel>

removeAll

public boolean removeAll(Collection<?> c)
Specified by:
removeAll in interface Collection<T extends PositionableModel>

retainAll

public boolean retainAll(Collection<?> c)
Specified by:
retainAll in interface Collection<T extends PositionableModel>

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection<T extends PositionableModel>

toArray

public <U> U[] toArray(U[] a)
Specified by:
toArray in interface Collection<T extends PositionableModel>

getNumberOfObjectsInLeaf

public final int getNumberOfObjectsInLeaf()
Returns:
the number of objects a leaf will contain.

getValidDomain

public final Envelope getValidDomain()
Returns:
the domain of this manager

setValidDomain

public void setValidDomain(Envelope newDomain)
(Re) set the valid domain of this renderer. Be careful, this will create a new quad tree.

Parameters:
newDomain - of this manager

createDotFile

public void createDotFile(String filename)
                   throws IOException
Create a graphviz dot representation of this manager.

Parameters:
filename - to be written to
Throws:
IOException - if the file could not be written to.

getMaxPixelError

public double getMaxPixelError()
Returns:
the used max pixel error.


Copyright © 2011. All Rights Reserved.