Changeset 2599 for GTP/trunk/Lib/Vis/Preprocessing/src/Exporter.cpp
- Timestamp:
- 01/15/08 23:02:37 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Vis/Preprocessing/src/Exporter.cpp
r2575 r2599 83 83 void Exporter::ExportKdIntersectable(const KdIntersectable &kdObj) 84 84 { 85 KdNode * node= kdObj.GetItem();85 KdNode *root = kdObj.GetItem(); 86 86 Intersectable::NewMail(); 87 87 88 // todo: traverse to leaves 89 if (node->IsLeaf()) 90 { 91 // eyport leaf pvs 92 KdLeaf *leaf = static_cast<KdLeaf *>(node); 93 94 ObjectContainer::const_iterator oit, oit_end = leaf->mObjects.end(); 95 96 for (oit = leaf->mObjects.begin(); oit != oit_end; ++ oit) 97 { 98 Intersectable *obj = *oit; 99 100 if (!obj->Mailed()) 101 { 102 ExportIntersectable(obj); 103 obj->Mail(); 104 } 105 } 88 stack<KdNode *> tStack; 89 90 tStack.push(root); 91 92 while (!tStack.empty()) { 93 KdNode *node = tStack.top(); 94 tStack.pop(); 95 // todo: traverse to leaves 96 if (node->IsLeaf()) 97 { 98 // eyport leaf pvs 99 KdLeaf *leaf = static_cast<KdLeaf *>(node); 100 101 ObjectContainer::const_iterator oit, oit_end = leaf->mObjects.end(); 102 103 for (oit = leaf->mObjects.begin(); oit != oit_end; ++ oit) 104 { 105 Intersectable *obj = *oit; 106 107 if (1 || !obj->Mailed()) 108 { 109 ExportIntersectable(obj); 110 obj->Mail(); 111 } 112 } 113 } else { 114 KdInterior *interior = (KdInterior *)node; 115 tStack.push(interior->mBack); 116 tStack.push(interior->mFront); 117 118 } 119 106 120 } 107 121 }
Note: See TracChangeset
for help on using the changeset viewer.