Show
Ignore:
Timestamp:
07/01/08 15:56:02 (6 years ago)
Author:
robert
Message:

Added Vec3Array arrange pointer to avoid dynamic cast

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/examples/osgkdtree/osgkdtree.cpp

    r8417 r8520  
    116116 
    117117 
    118         osg::observer_ptr<osg::Geometry> _geometry; 
    119  
    120         osg::BoundingBox                _bb; 
    121  
    122         AxisStack                       _axisStack; 
    123         KDNodeList                      _kdNodes; 
    124         KDLeafList                      _kdLeaves; 
    125         Indices                         _vertexIndices; 
     118        osg::observer_ptr<osg::Geometry>    _geometry; 
     119 
     120        osg::BoundingBox                    _bb; 
     121 
     122        AxisStack                           _axisStack; 
     123        KDNodeList                          _kdNodes; 
     124        KDLeafList                          _kdLeaves; 
     125 
     126        osg::ref_ptr<osg::Vec3Array>        _vertices; 
     127        Indices                             _vertexIndices; 
    126128}; 
    127129 
     
    249251    kdTree->_geometry = geometry; 
    250252    kdTree->_bb = kdTree->_geometry->getBound(); 
    251      
     253    kdTree->_vertices = vertices; 
    252254     
    253255    unsigned int estimatedSize = (unsigned int)(float(vertices->size())/float(_targetNumVerticesPerLeaf)*1.5); 
     
    373375            KDLeaf& leaf = kdTree.getLeaf(nodeIndex); 
    374376 
    375             osg::Vec3Array* vertices = dynamic_cast<osg::Vec3Array*>(kdTree._geometry->getVertexArray()); 
     377            osg::Vec3Array* vertices = kdTree._vertices.get(); 
    376378 
    377379            //osg::notify(osg::NOTICE)<<"  divide leaf->_vertexIndices.size()="<<leaf->_vertexIndices.size()<<std::endl;