octree_visitor_update.h

Go to the documentation of this file.
00001 // Author: Justin Kinney
00002 // Date: Sep 2008
00003 
00004 #ifndef OCTREE_VISITOR_UPDATE_H
00005 #define OCTREE_VISITOR_UPDATE_H
00006 
00007 #include "meshmorph.h"
00008 
00009 #include "face.h"
00010 #include "Octree.h" 
00011 #include <iostream>
00012 
00013 using hxa7241_graphics::OctreeVisitor;
00014 using hxa7241_graphics::Vector3r;
00015 using hxa7241_graphics::OctreeCell;
00016 using hxa7241_graphics::OctreeData;
00017 using hxa7241_graphics::Array;
00018 using hxa7241_graphics::OctreeRoot;
00019 using hxa7241_graphics::dword;
00020 using hxa7241_graphics::OctreeBranch;
00021 
00022 
00023 class Octree_Visitor_Update
00024    : public OctreeVisitor<Face>
00025 {
00027 public:
00028             Octree_Visitor_Update(Face *,Vector3r,Vector3r,Vector3r,Vector3r);
00029 
00030    virtual ~Octree_Visitor_Update();
00031 
00032 private:
00033             Octree_Visitor_Update( const Octree_Visitor_Update& );
00034    Octree_Visitor_Update& operator=( const Octree_Visitor_Update& );
00035 
00036 
00039 protected:
00040    virtual void  visitRoot  ( const OctreeCell* pRootCell,
00041                               const OctreeData& octreeData );
00042    virtual void  visitBranch( const OctreeCell* subCells[8],
00043                               const OctreeData& octreeData );
00044    virtual void  visitLeaf  ( const Array<const Face*>& items,
00045                               const OctreeData& octreeData );
00046 
00047    // any other commands ...
00048 
00049 
00051    // any queries ...
00052 
00053 
00055 private:
00056    Face * face;
00057    Vector3r * oldlower;
00058    Vector3r * oldupper;
00059    Vector3r * newlower;
00060    Vector3r * newupper;
00061 };
00062 
00063 #endif

Generated on Fri Feb 13 13:58:10 2009 for meshmorph by  doxygen 1.5.1