Advertisement
Guest User

Untitled

a guest
Nov 21st, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. void Object::updateWireframe() {
  2.     // Geode -> Drawable -> asGeometry() -> getPrimitiveSetList() -> setMode
  3.  
  4.     for(size_t j = 0; j < geodeObject->getNumDrawables(); j++) {
  5.         if(geodeObject->getDrawable(j)->asGeometry() != 0) {
  6.             osg::Geometry::PrimitiveSetList list = geodeObject->getDrawable(j)->asGeometry()->getPrimitiveSetList();
  7.  
  8.             for(size_t i = 0; i < list.size(); i++) {
  9.                 if(wireframeObject) {
  10.                     //std::cout << "Changing to LINE_LOOP!" << std::endl;
  11.                     list[i]->setMode(GL_LINE_LOOP);
  12.                 } else {
  13.                     //std::cout << "Index: " << list[i]->getNumIndices() << std::endl;
  14.                     if(list[i]->getNumIndices() == 3)
  15.                         list[i]->setMode(GL_TRIANGLES);
  16.                     else
  17.                         list[i]->setMode(GL_QUADS);
  18.                 }
  19.             }
  20.  
  21.             geodeObject->getDrawable(j)->asGeometry()->setPrimitiveSetList(list);
  22.         }
  23.     }
  24.  
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement