octree_visitor_remove_face.h

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

Generated on Thu Sep 4 18:34:33 2008 for meshmorph by  doxygen 1.5.1