- Timestamp:
- 03/31/06 17:29:32 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/IMGClusterList.cpp
r709 r721 1 1 2 #include "IMGClusterList.h"2 #include <IMGClusterList.h> 3 3 4 4 namespace IMG { 5 6 // Gametools -- Isma 17/08/20057 //int Cluster::CalculaPatch (Vector3 &point)8 //{9 // //printf("\nCalculaPatch on està el vertex: (%.4f, %.4f, %.4f)", point.x, point.y, point.z);10 //11 // //this->Print();12 //13 // int idpatch = this->CalcPatch (point);14 // if (ObscuranceRayTracing::Config::Debug) printf("\nEl idpatch calculat és: %d", idpatch);15 // int id = GetIdPatch(idpatch);16 // if (ObscuranceRayTracing::Config::Debug) printf("\nEl patch real és el : %d", id);17 // return id;18 //}19 // Gametools -- Isma 17/08/200520 //21 //int Cluster::CalcPatch (Vector3 &point)22 //{23 // //printf("\nDins Calcular Patch, valor de la caixa: ");24 // //bound->Print();25 // int x, y;26 // //Polygon2d poly2d;27 // //int axisproj;28 // Vector2 point2d;29 // //Box box;30 // Vector3 min, max;31 // //Vector2 *vertexs;32 // //int order;33 //34 //35 // //vertexs = poly2d_text->GetVector3s();36 // //vertexs = triangle2d_text->GetVector3s();37 //38 // //printf("\nCalc Patch ");39 //40 //41 // //for (register unsigned int i = 0; i < 4; i++)42 // //{43 // // box.AddBoundingVector3 (vertexs[i].x, vertexs[i].y, 0);44 // //}45 //46 //47 //48 // min = bound->GetMinimum();49 // max = bound->GetMaximum();50 // //box.Print();51 //52 // point2d = point2d.ProjectVector33d (point, axisproj);53 // //printf("\nPoint2d: (%.4f, %.4f)", point2d.x, point2d.y);54 //55 //56 // switch (axisproj)57 // {58 //59 // case 1: // 2 360 // // 0 161 //62 // x = int ( (point2d.x - min.x) * ObscuranceRayTracing::Config::MapWidth / (max.x - min.x));63 // y = int ( (point2d.y - min.y) * ObscuranceRayTracing::Config::MapHeight / (max.y - min.y));64 // return x + y * ObscuranceRayTracing::Config::MapWidth;65 // case 2: // 0 166 // // 2 367 //68 // x = int ( (point2d.x - min.x) * ObscuranceRayTracing::Config::MapWidth / (max.x - min.x));69 // y = int ( (point2d.y - min.y) * ObscuranceRayTracing::Config::MapHeight / (min.y - max.y));70 // //printf("\nValor x: %d", x);71 // //printf("\nValor y: %d", y);72 //73 // if (x < 0) x = -x; //arreglo temporal si no no va bé74 // if (y < 0) y = -y;75 // return x + y * ObscuranceRayTracing::Config::MapWidth;76 //77 // case 0: // 3 278 // // 1 079 //80 //81 // x = int ( (point2d.x - min.x) * ObscuranceRayTracing::Config::MapWidth / (min.x - max.x));82 // y = int ( (point2d.y - min.y) * ObscuranceRayTracing::Config::MapHeight / (max.y - min.y));83 //84 // //printf("\nValor x: %d", x);85 // //printf("\nValor y: %d", y);86 // if (x < 0) x = -x;87 // if (y < 0) y = -y;88 // return x + y * ObscuranceRayTracing::Config::MapWidth;89 // }90 //91 // return -1;92 //}93 //94 // Gametools -- Isma 17/08/200595 //96 //bool Cluster::CreatePatches( bool dinamic)97 //{98 // if (ObscuranceRayTracing::Config::Debug)99 // {100 // printf("\n\nCreant Patches en cluster (%d), isdinamic %d\n\n", dinamic, GetId());101 // printf("\nEl polygon es: ");102 // Print();103 // //printf("\n-----------\n ");104 // }105 //106 // //if (!Inc) return false;107 // //if (!vertexs) return false;108 //109 // int acum = 0;110 // register unsigned int i = 0, j = 0;111 // //Vector3 orig = Inc[0], valorx = Inc[1], valory = Inc[2];112 //113 //114 // Vector3 orig, valorx, valory;115 //116 // orig = lumel_origin;117 // valorx = lumel_x_axis;118 // valory = lumel_y_axis;119 //120 // //if (ObscuranceRayTracing::Config::Debug)121 // {122 // printf("\nValor de origen: (%.4f, %.4f, %.4f)", lumel_origin.x, lumel_origin.y,lumel_origin.z);123 // printf("\nValor de Ax: (%.4f, %.4f, %.4f)", lumel_x_axis.x, lumel_x_axis.y, lumel_x_axis.z);124 // printf("\nValor de Ay: (%.4f, %.4f, %.4f)", lumel_y_axis.x, lumel_y_axis.y, lumel_y_axis.z);125 // }126 //127 // Vector3 p0, p1, p2, p3;128 //129 //130 // patchlistid.GetList()->reserve ( ObscuranceRayTracing::Config::MapHeight * ObscuranceRayTracing::Config::MapWidth);131 // int cont = 0;132 // for (; j < ObscuranceRayTracing::Config::MapHeight; j++)133 // {134 // i = 0;135 // for (i = 0; i < ObscuranceRayTracing::Config::MapWidth; i++)136 // {137 // Patch * patch = new Patch;138 // patch->SetCoord (i, j);139 // //patch->SetCoord (j, i);140 // patch->SetIdLumel(i + j + acum);141 // patch->SetCluster (this);142 //143 // if (dinamic) patch->dinamic = dinamic;144 //145 //146 // Patch::seqid++;147 //148 // //if (ObscuranceRayTracing::Config::Debug) patch->Print(2);149 //150 // patchlistid.Insert(patch->GetId()); //add the id (index) to polygon's patchlistid151 //152 // //if (dinamic) ObscuranceRayTracing::patchlistdinamic.Insert(patch);153 // //else ObscuranceRayTracing::patchlist.Insert(patch);154 //155 // ObscuranceRayTracing::patchlist_triangle.Insert(patch);156 // //ObscuranceRayTracing::patchlist_cluster.Insert(patch);157 // //patch->Print(2);158 //159 // delete patch;160 // cont++;161 // }162 //163 // acum = acum + ObscuranceRayTracing::Config::MapWidth - 1; //el id del patch segÃŒent acum += lightmap_del_polygon->GetWidth() - 1164 // }165 //166 // //if (ObscuranceRayTracing::Config::Debug)167 // printf("\n\nLlista de indexs de patchs del polygon: %d" , patchlistid.GetSize());168 // return true;169 //}170 //171 172 bool ClusterList::Insert(Cluster * p) {173 if (!p) return false;174 //printf("\nInserting polygon");175 //p->Print();176 //list.push_back(p);177 //printf("\nInsert polygon: INsert\n");178 list.push_back(*p);179 //printf("\nInsert polygon: INsert fora\n");180 return true;181 }182 183 void ClusterList::Print() {184 printf("\n\n\nNombre de cluster a la llista: %d --> ", list.size());185 for (register int i = 0; i < list.size(); i ++)186 {187 //printf( "%d", GetPolygon(i)->GetId());188 Get(i)->Print();189 }190 191 }192 5 193 6 ClusterList::~ClusterList() … … 196 9 } 197 10 11 bool ClusterList::Insert(Cluster * p) 12 { 13 if (!p) 14 { 15 return false; 16 } 17 18 list.push_back(*p); 19 20 return true; 21 } 22 23 void ClusterList::Print() 24 { 25 Ogre::LogManager::getSingleton().logMessage("nNombre de cluster a la llista: " + Ogre::StringConverter::toString(list.size())); 26 for (register int i = 0; i < list.size(); i ++) 27 { 28 Get(i)->Print(); 29 } 30 } 31 32 ClusterList::ClusterList() 33 { 34 list.reserve(100); 35 } 36 37 std::vector<Cluster> * ClusterList::GetList() 38 { 39 return &list; 40 } 41 42 unsigned int ClusterList::GetSize() const 43 { 44 return list.size(); 45 } 46 47 Cluster * ClusterList::Get(unsigned int i) 48 { 49 if (i <= list.size()) 50 { 51 return &list[i]; 52 } 53 54 return NULL; 55 } 198 56 199 57 }
Note: See TracChangeset
for help on using the changeset viewer.