00001 00012 #ifndef __FILL_OCT_H__ 00013 #define __FILL_OCT_H__ 00014 00015 #include <global.h> 00016 00017 #if !defined(CLASSIC_MODE) && defined(FILL_SOLIDS) 00018 00019 #include <octree/index_oct.h> 00020 #include <generator/oct_gen.h> 00021 #include <octree/idx_holder.h> 00022 00028 class FillOct : public IndexOct { 00029 public: 00034 FillOct(IndexOct idxOct); 00035 00046 void fill(OctGen* generator); 00047 00048 private: 00054 void add(NodeIndex idx); 00055 00060 void fill(); 00061 00076 void fillParts(_octree subtree, NodeIndex myIdx, Axis axis, AxIndex partOfs); 00077 00091 void fillParts(NodeIndex myIdx, Axis axis, AxIndex partOfs); 00092 00105 void fillTree(_octree subtree, NodeIndex myIdx, OctGen* generator); 00106 00107 #ifdef SAVED_FILL 00108 00116 Color getColor(OctGen* generator, NodeIndex p, bool &savedFill); 00117 #endif 00118 00122 Color fillColor; 00123 00127 IdxHolder fillPoints; 00128 00129 #ifdef LIMITED_STACK 00130 00134 bool fillFurther; 00135 00140 NodeIndex keptPoint; 00141 #endif // LIMITED_STACK 00142 00143 }; 00144 00145 #endif // !CLASSIC_MODE && FILL_SOLIDS 00146 00147 #endif // ! __FILL_OCT_H__