Ignore:
Timestamp:
10/09/06 22:38:07 (18 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/src/OgreTypeConverter.cpp

    r863 r1593  
    11#include "OgreTypeConverter.h" 
     2#include "Mesh.h" 
     3#include <OgreManualObject.h> 
     4#include <OgreSceneManager.h> 
    25 
    36 
     
    1316} 
    1417 
     18 
    1519GtpVisibilityPreprocessor::Vector3 OgreTypeConverter::ConvertFromOgre(const Vector3 &v) 
    1620{ 
    1721    return GtpVisibilityPreprocessor::Vector3(v.x, v.y, v.z); 
    1822} 
    19          
     23 
     24 
    2025AxisAlignedBox OgreTypeConverter::ConvertToOgre(const GtpVisibilityPreprocessor::AxisAlignedBox3 &box) 
    2126{ 
     
    2631} 
    2732 
     33 
    2834Vector3 OgreTypeConverter::ConvertToOgre(const GtpVisibilityPreprocessor::Vector3 &v) 
    2935{ 
    3036        return Vector3(v.getX(), v.getY(), v.getZ()); 
    3137} 
     38 
     39 
     40ManualObject *OgreTypeConverter::ConvertToOgre(GtpVisibilityPreprocessor::Mesh *mesh, SceneManager *sceneMgr) 
     41{ 
     42        char name[100]; 
     43        sprintf(name, "mesh%04d", mesh->GetId()); 
     44 
     45        ManualObject* manual = sceneMgr->createManualObject(name); 
     46        manual->begin("BaseWhiteNoLighting", RenderOperation::OT_LINE_STRIP); 
     47         
     48        // create vertices 
     49        GtpVisibilityPreprocessor::VertexContainer::const_iterator vit,  
     50                vit_end = mesh->mVertices.end(); 
     51 
     52        for (vit = mesh->mVertices.begin(); vit != vit_end; ++ vit) 
     53        { 
     54                const GtpVisibilityPreprocessor::Vector3 vtx = *vit; 
     55                manual->position(vtx.x, vtx.y, vtx.z); 
     56        } 
     57 
     58        // create faces indices 
     59        GtpVisibilityPreprocessor::FaceContainer::const_iterator fit, fit_end = mesh->mFaces.end(); 
     60 
     61        for (fit = mesh->mFaces.begin(); fit != fit_end; ++ fit) 
     62        { 
     63                GtpVisibilityPreprocessor::Face *face = *fit; 
     64                GtpVisibilityPreprocessor::VertexIndexContainer::const_iterator  
     65                        iit, iit_end = face->mVertexIndices.end(); 
     66                //GtpVisibilityPreprocessor::VertexIndexContainer::const_reverse_iterator  
     67                //      iit, iit_end = face->mVertexIndices.rend(); 
     68 
     69                for (iit = face->mVertexIndices.begin(); iit != iit_end; ++ iit) 
     70                { 
     71                        const int index = *iit; 
     72                        manual->index(index); 
     73                } 
     74        } 
     75 
     76        manual->end(); 
     77        //mSceneMgr->getRootSceneNode()->createChildSceneNode()->attachObject(manual); 
     78 
     79        return manual; 
    3280} 
     81 
     82 
     83} 
Note: See TracChangeset for help on using the changeset viewer.