Changeset 1069 for GTP/trunk/Lib/Geom/shared/GTGeometry
- Timestamp:
- 06/28/06 17:50:02 (19 years ago)
- Location:
- GTP/trunk/Lib/Geom/shared/GTGeometry
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/Lib/Geom/shared/GTGeometry/GTGeometry.vcproj
r1058 r1069 112 112 </File> 113 113 <File 114 RelativePath=".\src\GeoLodManager.cpp"> 115 </File> 116 <File 114 117 RelativePath=".\src\GeoLodStripsConstructor.cpp"> 115 118 </File> … … 349 352 <File 350 353 RelativePath=".\include\GeoBase.h"> 354 </File> 355 <File 356 RelativePath=".\include\GeoLodManager.h"> 351 357 </File> 352 358 <File -
GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodStripsLibrary.h
r1058 r1069 127 127 void LoadStripMesh(char *name, Mesh *geomesh); 128 128 129 Geometry::CREATE MULTIINDEXDATAFUNC create_multi_index_data_func;129 Geometry::CREATEINDEXDATAFUNC create_index_data_func; 130 130 131 131 // Strips vector. … … 136 136 public: 137 137 138 MultiIndexData *dataRetrievalInterface;138 IndexData *dataRetrievalInterface; 139 139 140 140 /** Constructor, receives as a parameter the name of the file 141 141 * including the multiresolution object. 142 142 */ 143 LodStripsLibrary(std::string, Mesh *geomesh, CREATE MULTIINDEXDATAFUNC midfun=NULL);143 LodStripsLibrary(std::string, Mesh *geomesh, CREATEINDEXDATAFUNC idfun=NULL); 144 144 145 145 /// Destructor. 146 146 ~LodStripsLibrary(void); 147 148 /// Returns the highest LOD.149 uint32 MaxLod();150 151 /// Returns the lowest LOD.152 uint32 MinLod();153 147 154 148 /// Returns de current LOD and changes to the specified LOD. -
GTP/trunk/Lib/Geom/shared/GTGeometry/include/GeoLodTreeLibrary.h
r1058 r1069 51 51 // uint32 Get_Trunk_VertexCount(void) const; 52 52 // uint32 Get_Trunk_MaxIndexCount(uint32 istrip) const; 53 uint32 CurrentLOD_Trunk_StripCount(void) const;53 // uint32 CurrentLOD_Trunk_StripCount(void) const; 54 54 // uint32 CurrentLOD_Trunk_IndexCount(void) const; 55 uint32 CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const;55 // uint32 CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const; 56 56 /* const VertexData* Get_Trunk_VertexData(void) const;*/ 57 const MultiIndexData* CurrentLOD_Trunk_Indices(void) const;57 const IndexData* CurrentLOD_Trunk_Indices(void) const; 58 58 59 59 // uint32 Get_Foliage_VertexCount(void) const; -
GTP/trunk/Lib/Geom/shared/GTGeometry/include/VertexData.h
r1019 r1069 45 45 }; 46 46 47 class MultiIndexData47 /* class MultiIndexData 48 48 { 49 49 private: … … 76 76 void SetNumValidIndices(unsigned int iprim, unsigned int valid){ num_valid_inds[iprim]=valid; } 77 77 unsigned int GetNumPrims(void) const { return num_prims; } 78 }; 78 };*/ 79 79 80 80 typedef VertexData* CreateVertexDataFunc(unsigned int numv); … … 82 82 typedef IndexData* CreateIndexDataFunc(unsigned int numi); 83 83 typedef CreateIndexDataFunc* CREATEINDEXDATAFUNC; 84 typedef MultiIndexData* CreateMultiIndexDataFunc(unsigned int numprims, unsigned int *numi);85 typedef CreateMultiIndexDataFunc* CREATEMULTIINDEXDATAFUNC; 84 /* typedef MultiIndexData* CreateMultiIndexDataFunc(unsigned int numprims, unsigned int *numi); 85 typedef CreateMultiIndexDataFunc* CREATEMULTIINDEXDATAFUNC;*/ 86 86 87 87 class DefaultVertexData : public VertexData … … 138 138 IndexData *DefaultIndexDataCreator(unsigned int numi); 139 139 140 class DefaultMultiIndexData : public MultiIndexData140 /* class DefaultMultiIndexData : public MultiIndexData 141 141 { 142 142 private: … … 158 158 }; 159 159 MultiIndexData *DefaultMultiIndexDataCreator(unsigned int numprims, unsigned int *numi); 160 160 */ 161 161 } 162 162 -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodStripsLibrary.cpp
r1058 r1069 17 17 // Constructors. 18 18 //----------------------------------------------------------------------------- 19 LodStripsLibrary::LodStripsLibrary( std::string name, Mesh *geomesh, CREATEMULTIINDEXDATAFUNC midfun)20 :create_ multi_index_data_func(midfun?midfun:DefaultMultiIndexDataCreator)19 LodStripsLibrary::LodStripsLibrary(std::string name, Mesh *geomesh, CREATEINDEXDATAFUNC idfun) 20 :create_index_data_func(idfun?idfun:DefaultIndexDataCreator) 21 21 { 22 22 const char *name_of_file; … … 241 241 242 242 //----------------------------------------------------------------------------- 243 // Gets the maximum level of detail.244 //-----------------------------------------------------------------------------245 uint32 LodStripsLibrary::MaxLod()246 {247 return mMaxLod;248 }249 250 //-----------------------------------------------------------------------------251 // Gets the minimum level of detail.252 //-----------------------------------------------------------------------------253 uint32 LodStripsLibrary::MinLod()254 {255 return mMinLod;256 }257 258 //-----------------------------------------------------------------------------259 243 // Returns the number of vertices of the highest LOD. 260 244 //----------------------------------------------------------------------------- … … 386 370 mTotalFaces = 0; 387 371 388 unsigned int * strip_sizes = new unsigned int[mFileStrips.size()]; 372 // unsigned int * strip_sizes = new unsigned int[mFileStrips.size()]; 373 unsigned int total_strip_size = 0; 389 374 for (i = 0; i < mFileStrips.size(); i++) 390 375 { 391 strip_sizes[i]= t = int(mFileStrips[i].size());376 total_strip_size += t = int(mFileStrips[i].size()); 392 377 if (t>max) 393 378 max = t; … … 406 391 407 392 // Copy strips. 408 dataRetrievalInterface=create_ multi_index_data_func(mFileStrips.size(),strip_sizes);409 dataRetrievalInterface->Begin(); 410 for (i = 0; i < mFileStrips.size(); i++)411 { 412 for (j = 0; j < mFileStrips[i].size(); j++ )393 dataRetrievalInterface=create_index_data_func(total_strip_size); 394 dataRetrievalInterface->Begin(); 395 for (int ii = 0, i = 0; i < mFileStrips.size(); i++) 396 { 397 for (j = 0; j < mFileStrips[i].size(); j++,ii++) 413 398 { 414 399 mStrips[i].push_back(mFileStrips[i][j]); 415 dataRetrievalInterface->SetIndex(i ,j,mFileStrips[i][j]);400 dataRetrievalInterface->SetIndex(ii,mFileStrips[i][j]); 416 401 } 417 402 … … 434 419 } 435 420 436 delete[] strip_sizes;421 // delete[] strip_sizes; 437 422 } 438 423 … … 593 578 { 594 579 dataRetrievalInterface->Begin(); 595 for (int i=0; i<mTotalStrips; i++) 596 { 597 unsigned int j=0; 598 for (SmallIntVector::iterator it=mStrips[i].begin(); it!=mStrips[i].end(); it++, j++) 599 dataRetrievalInterface->SetIndex(i,j,*it); 600 dataRetrievalInterface->SetNumValidIndices(i,j); 580 for (int i=0, ii=0; i<mTotalStrips; i++) 581 { 582 for (SmallIntVector::iterator it=mStrips[i].begin(); it!=mStrips[i].end(); it++, ii++) 583 dataRetrievalInterface->SetIndex(ii,*it); 584 dataRetrievalInterface->SetNumValidIndices(ii); 601 585 } 602 586 dataRetrievalInterface->End(); -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/GeoLodTreeLibrary.cpp
r1058 r1069 48 48 // if (current_foliage_indices) delete[] current_foliage_indices;*/ 49 49 } 50 50 /* 51 51 uint32 LodTreeLibrary::CurrentLOD_Trunk_StripCount(void) const 52 52 { 53 53 assert(trunk); 54 // return trunk->TOTALTIRAS;55 return trunk->dataRetrievalInterface->GetNumPrims();56 } 57 58 59 uint32 LodTreeLibrary::CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const54 return trunk->TOTAL; 55 // return trunk->dataRetrievalInterface->GetNumPrims(); 56 }*/ 57 58 59 /*uint32 LodTreeLibrary::CurrentLOD_Trunk_IndexCountByStrip(uint32 istrip) const 60 60 { 61 61 assert(trunk); … … 64 64 return trunk->dataRetrievalInterface->GetNumValidIndices(istrip); 65 65 } 66 /* 66 67 67 uint32 LodTreeLibrary::CurrentLOD_Trunk_IndexCount(void) const 68 68 { … … 146 146 return trunk->vertices; 147 147 }*/ 148 const MultiIndexData* LodTreeLibrary::CurrentLOD_Trunk_Indices(void) const148 const IndexData* LodTreeLibrary::CurrentLOD_Trunk_Indices(void) const 149 149 { 150 150 return trunk->dataRetrievalInterface; -
GTP/trunk/Lib/Geom/shared/GTGeometry/src/libs/leaves/VertexData.cpp
r831 r1069 35 35 36 36 37 Geometry::DefaultMultiIndexData::DefaultMultiIndexData(unsigned int numprims, unsigned int *numi):Geometry::MultiIndexData(numprims,numi)37 /*Geometry::DefaultMultiIndexData::DefaultMultiIndexData(unsigned int numprims, unsigned int *numi):Geometry::MultiIndexData(numprims,numi) 38 38 { 39 39 indices = new unsigned int*[numprims]; … … 52 52 return new DefaultMultiIndexData(numprims,numi); 53 53 } 54 */
Note: See TracChangeset
for help on using the changeset viewer.