View on GitHub

Vistle

Distributed Data-parallel Scientific Visualization in VR

Classes | Public Types | Public Member Functions | List of all members
vistle::Celltree< Scalar, Index, NumDimensions > Class Template Reference

#include <core/celltree.h>

Inheritance diagram for vistle::Celltree< Scalar, Index, NumDimensions >:
Inheritance graph
[legend]
Collaboration diagram for vistle::Celltree< Scalar, Index, NumDimensions >:
Collaboration graph
[legend]

Classes

class  CellBoundsFunctor
 compute bounding box of a cell More...
 
class  LeafFunctor
 return whether further cells have to be visited More...
 
class  VisitFunctor
 

Public Types

typedef Object Base
 
typedef VistleScalarVector< NumDimensions >::type Vector
 
typedef CelltreeNode< sizeof(Index), NumDimensions > Node
 
- Public Types inherited from vistle::Object
enum  InitializedFlags { Initialized }
 
enum  Type {
  COORD = -9 , COORDWRADIUS = -8 , DATABASE = -7 , UNKNOWN = -1 ,
  EMPTY = 1 , PLACEHOLDER = 11 , TEXTURE1D = 16 , POINTS = 18 ,
  SPHERES = 19 , LINES = 20 , TUBES = 21 , TRIANGLES = 22 ,
  POLYGONS = 23 , UNSTRUCTUREDGRID = 24 , UNIFORMGRID = 25 , RECTILINEARGRID = 26 ,
  STRUCTUREDGRID = 27 , QUADS = 28 , VERTEXOWNERLIST = 95 , CELLTREE1 = 96 ,
  CELLTREE2 = 97 , CELLTREE3 = 98 , NORMALS = 99 , VEC = 100
}
 
typedef std::shared_ptr< Objectptr
 
typedef std::shared_ptr< const Objectconst_ptr
 
typedef ObjectData Data
 

Public Member Functions

 Celltree (const Index numCells, const Meta &meta=Meta())
 
void init (const Vector *min, const Vector *max, const Vector &gmin, const Vector &gmax)
 
void refine (const Vector *min, const Vector *max, Index nodeIdx, const Vector &gmin, const Vector &gmax)
 
template<class BoundsFunctor >
bool validateTree (BoundsFunctor &func) const
 
Scalarmin ()
 
const Scalarmin () const
 
Scalarmax ()
 
const Scalarmax () const
 
shm< Node >::array & nodes ()
 
const shm< Node >::array & nodes () const
 
shm< Index >::array & cells ()
 
const shm< Index >::array & cells () const
 
template<class InnerNodeFunctor , class ElementFunctor >
void traverse (InnerNodeFunctor &visitNode, ElementFunctor &visitElement) const
 
- Public Member Functions inherited from vistle::Object
template<class Interface >
const Interface * getInterface () const
 
std::shared_ptr< const Objectobject () const override
 
virtual ~Object ()
 
bool operator== (const Object &other) const
 
bool operator!= (const Object &other) const
 
bool isComplete () const
 
virtual std::set< Object::const_ptrreferencedObjects () const
 check whether all references have been resolved More...
 
Object::ptr clone () const
 
virtual Object::ptr cloneInternal () const =0
 
Object::ptr cloneType () const
 
virtual Object::ptr cloneTypeInternal () const =0
 
virtual void refresh () const
 refresh cached pointers from shm More...
 
virtual bool check () const
 
virtual void updateInternals ()
 
virtual bool isEmpty () const
 
virtual bool isEmpty ()
 
shm_handle_t getHandle () const
 
Type getType () const
 
std::string getName () const
 
int getBlock () const
 
int getNumBlocks () const
 
double getRealTime () const
 
int getTimestep () const
 
int getNumTimesteps () const
 
int getIteration () const
 
int getExecutionCounter () const
 
int getCreator () const
 
Matrix4 getTransform () const
 
void setBlock (const int block)
 
void setNumBlocks (const int num)
 
void setRealTime (double time)
 
void setTimestep (const int timestep)
 
void setNumTimesteps (const int num)
 
void setIteration (const int num)
 
void setExecutionCounter (const int count)
 
void setCreator (const int id)
 
void setTransform (const Matrix4 &transform)
 
const Metameta () const
 
void setMeta (const Meta &meta)
 
void addAttribute (const std::string &key, const std::string &value="")
 
void setAttributeList (const std::string &key, const std::vector< std::string > &values)
 
virtual void copyAttributes (Object::const_ptr src, bool replace=true)
 
bool hasAttribute (const std::string &key) const
 
std::string getAttribute (const std::string &key) const
 
std::vector< std::string > getAttributes (const std::string &key) const
 
std::vector< std::string > getAttributeList () const
 
bool addAttachment (const std::string &key, Object::const_ptr att) const
 
bool hasAttachment (const std::string &key) const
 
void copyAttachments (Object::const_ptr src, bool replace=true)
 
Object::const_ptr getAttachment (const std::string &key) const
 
bool removeAttachment (const std::string &key) const
 
int ref () const
 
int unref () const
 
int refcount () const
 
template<class Archive >
void saveObject (Archive &ar) const
 
Datad () const
 

Additional Inherited Members

- Static Public Member Functions inherited from vistle::Object
static const char * toString (Type v)
 
static const char * typeName ()
 
static ObjectcreateEmpty (const std::string &name=std::string())
 
static std::shared_ptr< Objectas (std::shared_ptr< Object > ptr)
 
static std::shared_ptr< const Objectas (std::shared_ptr< const Object > ptr)
 
template<class Archive >
static ObjectloadObject (Archive &ar)
 
- Protected Member Functions inherited from vistle::Object
 Object (Data *data)
 
 Object ()
 
- Protected Member Functions inherited from vistle::ObjectInterfaceBase
virtual ~ObjectInterfaceBase ()
 
- Static Protected Member Functions inherited from vistle::Object
static void publish (const Data *d)
 
static Objectcreate (Data *)
 
- Protected Attributes inherited from vistle::Object
Datam_data
 

Member Typedef Documentation

◆ Base

template<typename Scalar , typename Index , int NumDimensions = 3>
typedef Object vistle::Celltree< Scalar, Index, NumDimensions >::Base

◆ Node

template<typename Scalar , typename Index , int NumDimensions = 3>
typedef CelltreeNode<sizeof(Index), NumDimensions> vistle::Celltree< Scalar, Index, NumDimensions >::Node

◆ Vector

template<typename Scalar , typename Index , int NumDimensions = 3>
typedef VistleScalarVector<NumDimensions>::type vistle::Celltree< Scalar, Index, NumDimensions >::Vector

Constructor & Destructor Documentation

◆ Celltree()

template<typename Scalar , typename Index , int NumDimensions>
vistle::Celltree< Scalar, Index, NumDimensions >::Celltree ( const Index  numCells,
const Meta meta = Meta() 
)

Member Function Documentation

◆ cells() [1/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
shm< Index >::array & vistle::Celltree< Scalar, Index, NumDimensions >::cells ( )
inline

◆ cells() [2/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
const shm< Index >::array & vistle::Celltree< Scalar, Index, NumDimensions >::cells ( ) const
inline

◆ init()

template<typename Scalar , typename Index , int NumDimensions>
void vistle::Celltree< Scalar, Index, NumDimensions >::init ( const Vector min,
const Vector max,
const Vector gmin,
const Vector gmax 
)

◆ max() [1/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
Scalar * vistle::Celltree< Scalar, Index, NumDimensions >::max ( )
inline

◆ max() [2/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
const Scalar * vistle::Celltree< Scalar, Index, NumDimensions >::max ( ) const
inline

◆ min() [1/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
Scalar * vistle::Celltree< Scalar, Index, NumDimensions >::min ( )
inline

◆ min() [2/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
const Scalar * vistle::Celltree< Scalar, Index, NumDimensions >::min ( ) const
inline

◆ nodes() [1/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
shm< Node >::array & vistle::Celltree< Scalar, Index, NumDimensions >::nodes ( )
inline

◆ nodes() [2/2]

template<typename Scalar , typename Index , int NumDimensions = 3>
const shm< Node >::array & vistle::Celltree< Scalar, Index, NumDimensions >::nodes ( ) const
inline

◆ refine()

template<typename Scalar , typename Index , int NumDimensions>
void vistle::Celltree< Scalar, Index, NumDimensions >::refine ( const Vector min,
const Vector max,
Index  nodeIdx,
const Vector gmin,
const Vector gmax 
)

◆ traverse()

template<typename Scalar , typename Index , int NumDimensions = 3>
template<class InnerNodeFunctor , class ElementFunctor >
void vistle::Celltree< Scalar, Index, NumDimensions >::traverse ( InnerNodeFunctor &  visitNode,
ElementFunctor &  visitElement 
) const
inline

◆ validateTree()

template<typename Scalar , typename Index , int NumDimensions>
template<class BoundsFunctor >
bool vistle::Celltree< Scalar, Index, NumDimensions >::validateTree ( BoundsFunctor &  func) const

The documentation for this class was generated from the following files: