Revision 40cf8459 src/spin/GeometryNode.cpp

b/src/spin/GeometryNode.cpp
90 90
	(*texcoordArray_)[2].set(1.0f,0.0f);
91 91
	(*texcoordArray_)[3].set(1.0f,1.0f);
92 92

  
93
    singleSided_ = false;
93 94
    
94 95
    geode_ = new osg::Geode();
95 96
    this->getAttachmentNode()->addChild(geode_.get());
......
233 234
    }   
234 235
}
235 236

  
237
void GeometryNode::setSingleSided (int singleSided)
238
{
239
    singleSided_ = singleSided;
240
    
241
    osg::StateSet *ss = geode_->getOrCreateStateSet();
242
    if (singleSided_)
243
        ss->setMode( GL_CULL_FACE, osg::StateAttribute::ON );
244
    else
245
        ss->setMode( GL_CULL_FACE, osg::StateAttribute::OFF );
246

  
247
	BROADCAST(this, "si", "setSingleSided", getSingleSided());
248
}
249

  
236 250
// -----------------------------------------------------------------------------
237 251

  
238 252
std::vector<lo_message> GeometryNode::getState () const
......
269 283
        ret.push_back(msg);
270 284
    }
271 285
    
272
    
273 286
    osg::Vec2Array *tArray = dynamic_cast<osg::Vec2Array*>(geometry_->getTexCoordArray(0));
274 287
    for (unsigned int i=0; i<tArray->getNumElements(); i++)
275 288
    {
......
277 290
        lo_message_add(msg, "siff", "setTexCoord", i, (*tArray)[i].x(), (*tArray)[i].y());
278 291
        ret.push_back(msg);
279 292
    }
293
    
294
    msg = lo_message_new();
295
	lo_message_add(msg, "si", "setSingleSided", getSingleSided());
296
	ret.push_back(msg);
297

  
280 298

  
281 299
	return ret;
282 300
}

Also available in: Unified diff