Ignore:
Timestamp:
03/31/06 17:29:32 (18 years ago)
Author:
igarcia
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/src/IMGClusterList.cpp

    r709 r721  
    11 
    2 #include "IMGClusterList.h" 
     2#include <IMGClusterList.h> 
    33 
    44namespace IMG { 
    5  
    6 // Gametools -- Isma 17/08/2005 
    7 //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/2005 
    20 // 
    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 3 
    60 //                      // 0 1 
    61 //                               
    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 1 
    66 //                      // 2 3 
    67 // 
    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 2 
    78 //                      // 1 0 
    79 // 
    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/2005 
    95 // 
    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 patchlistid 
    151 //                       
    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() - 1 
    164 //      } 
    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 } 
    1925 
    1936ClusterList::~ClusterList()  
     
    1969} 
    19710 
     11bool 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 
     23void 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 
     32ClusterList::ClusterList()  
     33{ 
     34    list.reserve(100); 
     35} 
     36 
     37std::vector<Cluster> * ClusterList::GetList()  
     38{ 
     39        return &list; 
     40} 
     41 
     42unsigned int ClusterList::GetSize() const 
     43{  
     44        return list.size();  
     45} 
     46 
     47Cluster * ClusterList::Get(unsigned int i)  
     48{ 
     49    if (i <= list.size()) 
     50        { 
     51                return &list[i]; 
     52        } 
     53     
     54    return NULL; 
     55} 
    19856 
    19957} 
Note: See TracChangeset for help on using the changeset viewer.