Ignore:
Timestamp:
06/05/06 23:14:04 (18 years ago)
Author:
mattausch
Message:

added mesh instance support
improved support for occlusion queries + other extensions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/X3dExporter.cpp

    r863 r1001  
    198198X3dExporter::ExportIntersectable(Intersectable *object) 
    199199{ 
    200   switch (object->Type()) { 
    201   case Intersectable::MESH_INSTANCE: 
    202   case Intersectable::TRANSFORMED_MESH_INSTANCE: 
    203     ExportMeshInstance((MeshInstance *)object); 
    204         break; 
    205   case Intersectable::VIEW_CELL: 
    206         ExportViewCell((ViewCell *)object); 
    207     break; 
    208   default: 
    209     cerr<<"Sorry the export for object not yet defined"<<endl; 
    210     break; 
    211   } 
     200        switch (object->Type())  
     201        { 
     202        case Intersectable::MESH_INSTANCE: 
     203                ExportMeshInstance((MeshInstance *)object); 
     204                break; 
     205        case Intersectable::TRANSFORMED_MESH_INSTANCE: 
     206                ExportTransformedMeshInstance(dynamic_cast<TransformedMeshInstance *>(object)); 
     207                break; 
     208        case Intersectable::VIEW_CELL: 
     209                ExportViewCell((ViewCell *)object); 
     210                break; 
     211        default: 
     212                cerr << "Sorry the export for object not yet defined" << endl; 
     213                break; 
     214        } 
    212215} 
    213216 
     
    223226 
    224227 
     228void 
     229X3dExporter::ExportTransformedMeshInstance(TransformedMeshInstance *mi) 
     230{ 
     231        Mesh mesh(*mi->GetMesh()); 
     232 
     233        Matrix4x4 m; 
     234        mi->GetWorldTransform(m); 
     235        mesh.ApplyTransformation(m); 
     236 
     237        ExportMesh(&mesh); 
     238} 
     239 
     240 
    225241void  
    226242X3dExporter::ExportViewCells(const ViewCellContainer &viewCells) 
     
    231247                ExportViewCell(*it); 
    232248} 
     249 
    233250 
    234251void  
     
    321338      b = RandomValue(0.5, 1.0); 
    322339    } 
     340     
    323341  stream<<"<Material diffuseColor=\""<<r<<" "<<g<<" "<<b<< 
    324342    "\" specularColor=\"0.0 0.0 0.0\"/>"<<endl; 
Note: See TracChangeset for help on using the changeset viewer.