text: // This file has been generated by Py++.
  
  #include "boost/python.hpp"
  #include "wrap_osgparticle.h"
  #include "wrap_referenced.h"
  #include "segmentplacer.pypp.hpp"
  
  namespace bp = boost::python;
  
  struct SegmentPlacer_wrapper : osgParticle::SegmentPlacer, bp::wrapper< osgParticle::SegmentPlacer > {
  
      SegmentPlacer_wrapper( )
      : osgParticle::SegmentPlacer( )
        , bp::wrapper< osgParticle::SegmentPlacer >(){
          // null constructor
      
      }
  
      virtual char const * className(  ) const  {
          if( bp::override func_className = this->get_override( "className" ) )
              return func_className(  );
          else{
              return this->osgParticle::SegmentPlacer::className(  );
          }
      }
      
      char const * default_className(  ) const  {
          return osgParticle::SegmentPlacer::className( );
      }
  
      virtual ::osg::Object * clone( ::osg::CopyOp const & copyop ) const  {
          if( bp::override func_clone = this->get_override( "clone" ) )
              return func_clone( boost::ref(copyop) );
          else{
              return this->osgParticle::SegmentPlacer::clone( boost::ref(copyop) );
          }
      }
      
      ::osg::Object * default_clone( ::osg::CopyOp const & copyop ) const  {
          return osgParticle::SegmentPlacer::clone( boost::ref(copyop) );
      }
  
      virtual ::osg::Object * cloneType(  ) const  {
          if( bp::override func_cloneType = this->get_override( "cloneType" ) )
              return func_cloneType(  );
          else{
              return this->osgParticle::SegmentPlacer::cloneType(  );
          }
      }
      
      ::osg::Object * default_cloneType(  ) const  {
          return osgParticle::SegmentPlacer::cloneType( );
      }
  
      virtual ::osg::Vec3 getControlPosition(  ) const  {
          if( bp::override func_getControlPosition = this->get_override( "getControlPosition" ) )
              return func_getControlPosition(  );
          else{
              return this->osgParticle::SegmentPlacer::getControlPosition(  );
          }
      }
      
      ::osg::Vec3 default_getControlPosition(  ) const  {
          return osgParticle::SegmentPlacer::getControlPosition( );
      }
  
      virtual bool isSameKindAs( ::osg::Object const * obj ) const  {
          if( bp::override func_isSameKindAs = this->get_override( "isSameKindAs" ) )
              return func_isSameKindAs( boost::python::ptr(obj) );
          else{
              return this->osgParticle::SegmentPlacer::isSameKindAs( boost::python::ptr(obj) );
          }
      }
      
      bool default_isSameKindAs( ::osg::Object const * obj ) const  {
          return osgParticle::SegmentPlacer::isSameKindAs( boost::python::ptr(obj) );
      }
  
      virtual char const * libraryName(  ) const  {
          if( bp::override func_libraryName = this->get_override( "libraryName" ) )
              return func_libraryName(  );
          else{
              return this->osgParticle::SegmentPlacer::libraryName(  );
          }
      }
      
      char const * default_libraryName(  ) const  {
          return osgParticle::SegmentPlacer::libraryName( );
      }
  
      virtual void place( ::osgParticle::Particle * P ) const  {
          if( bp::override func_place = this->get_override( "place" ) )
              func_place( boost::python::ptr(P) );
          else{
              this->osgParticle::SegmentPlacer::place( boost::python::ptr(P) );
          }
      }
      
      void default_place( ::osgParticle::Particle * P ) const  {
          osgParticle::SegmentPlacer::place( boost::python::ptr(P) );
      }
  
      virtual float volume(  ) const  {
          if( bp::override func_volume = this->get_override( "volume" ) )
              return func_volume(  );
          else{
              return this->osgParticle::SegmentPlacer::volume(  );
          }
      }
      
      float default_volume(  ) const  {
          return osgParticle::SegmentPlacer::volume( );
      }
  
      virtual void computeDataVariance(  ) {
          if( bp::override func_computeDataVariance = this->get_override( "computeDataVariance" ) )
              func_computeDataVariance(  );
          else{
              this->osg::Object::computeDataVariance(  );
          }
      }
      
      void default_computeDataVariance(  ) {
          osg::Object::computeDataVariance( );
      }
  
      virtual ::osg::Referenced * getUserData(  ) {
          if( bp::override func_getUserData = this->get_override( "getUserData" ) )
              return func_getUserData(  );
          else{
              return this->osg::Object::getUserData(  );
          }
      }
      
      ::osg::Referenced * default_getUserData(  ) {
          return osg::Object::getUserData( );
      }
  
      virtual ::osg::Referenced const * getUserData(  ) const  {
          if( bp::override func_getUserData = this->get_override( "getUserData" ) )
              return func_getUserData(  );
          else{
              return this->osg::Object::getUserData(  );
          }
      }
      
      ::osg::Referenced const * default_getUserData(  ) const  {
          return osg::Object::getUserData( );
      }
  
      virtual void resizeGLObjectBuffers( unsigned int arg0 ) {
          if( bp::override func_resizeGLObjectBuffers = this->get_override( "resizeGLObjectBuffers" ) )
              func_resizeGLObjectBuffers( arg0 );
          else{
              this->osg::Object::resizeGLObjectBuffers( arg0 );
          }
      }
      
      void default_resizeGLObjectBuffers( unsigned int arg0 ) {
          osg::Object::resizeGLObjectBuffers( arg0 );
      }
  
      virtual void setName( ::std::string const & name ) {
          if( bp::override func_setName = this->get_override( "setName" ) )
              func_setName( name );
          else{
              this->osg::Object::setName( name );
          }
      }
      
      void default_setName( ::std::string const & name ) {
          osg::Object::setName( name );
      }
  
      virtual void setThreadSafeRefUnref( bool threadSafe ) {
          if( bp::override func_setThreadSafeRefUnref = this->get_override( "setThreadSafeRefUnref" ) )
              func_setThreadSafeRefUnref( threadSafe );
          else{
              this->osg::Object::setThreadSafeRefUnref( threadSafe );
          }
      }
      
      void default_setThreadSafeRefUnref( bool threadSafe ) {
          osg::Object::setThreadSafeRefUnref( threadSafe );
      }
  
      virtual void setUserData( ::osg::Referenced * obj ) {
          if( bp::override func_setUserData = this->get_override( "setUserData" ) )
              func_setUserData( boost::python::ptr(obj) );
          else{
              this->osg::Object::setUserData( boost::python::ptr(obj) );
          }
      }
      
      void default_setUserData( ::osg::Referenced * obj ) {
          osg::Object::setUserData( boost::python::ptr(obj) );
      }
  
  };
  
  void register_SegmentPlacer_class(){
  
      bp::class_< SegmentPlacer_wrapper, bp::bases< osgParticle::Placer >, osg::ref_ptr< SegmentPlacer_wrapper >, boost::noncopyable >( "SegmentPlacer", "\n    A segment-shaped particle placer.\n        To use this placer you have to define a segment, by setting its two vertices (<B>A</B> and <B>B</B>);\n        when an emitter requests a <CODE>SegmentPlacer</CODE> to place a particle, the position is chosen randomly\n        within that segment.\n", bp::no_init )    
          .def( bp::init< >() )    
          .def( 
              "className"
              , (char const * ( ::osgParticle::SegmentPlacer::* )(  )const)(&::osgParticle::SegmentPlacer::className)
              , (char const * ( SegmentPlacer_wrapper::* )(  )const)(&SegmentPlacer_wrapper::default_className) )    
          .def( 
              "clone"
              , (::osg::Object * ( ::osgParticle::SegmentPlacer::* )( ::osg::CopyOp const & )const)(&::osgParticle::SegmentPlacer::clone)
              , (::osg::Object * ( SegmentPlacer_wrapper::* )( ::osg::CopyOp const & )const)(&SegmentPlacer_wrapper::default_clone)
              , ( bp::arg("copyop") )
              , bp::return_value_policy< bp::reference_existing_object >() )    
          .def( 
              "cloneType"
              , (::osg::Object * ( ::osgParticle::SegmentPlacer::* )(  )const)(&::osgParticle::SegmentPlacer::cloneType)
              , (::osg::Object * ( SegmentPlacer_wrapper::* )(  )const)(&SegmentPlacer_wrapper::default_cloneType)
              , bp::return_value_policy< bp::reference_existing_object >() )    
          .def( 
              "getControlPosition"
              , (::osg::Vec3 ( ::osgParticle::SegmentPlacer::* )(  )const)(&::osgParticle::SegmentPlacer::getControlPosition)
              , (::osg::Vec3 ( SegmentPlacer_wrapper::* )(  )const)(&SegmentPlacer_wrapper::default_getControlPosition) )    
          .def( 
              "getVertexA"
              , (::osg::Vec3 const & ( ::osgParticle::SegmentPlacer::* )(  )const)( &::osgParticle::SegmentPlacer::getVertexA )
              , bp::return_internal_reference< >() )    
          .def( 
              "getVertexB"
              , (::osg::Vec3 const & ( ::osgParticle::SegmentPlacer::* )(  )const)( &::osgParticle::SegmentPlacer::getVertexB )
              , bp::return_internal_reference< >() )    
          .def( 
              "isSameKindAs"
              , (bool ( ::osgParticle::SegmentPlacer::* )( ::osg::Object const * )const)(&::osgParticle::SegmentPlacer::isSameKindAs)
              , (bool ( SegmentPlacer_wrapper::* )( ::osg::Object const * )const)(&SegmentPlacer_wrapper::default_isSameKindAs)
              , ( bp::arg("obj") ) )    
          .def( 
              "libraryName"
              , (char const * ( ::osgParticle::SegmentPlacer::* )(  )const)(&::osgParticle::SegmentPlacer::libraryName)
              , (char const * ( SegmentPlacer_wrapper::* )(  )const)(&SegmentPlacer_wrapper::default_libraryName) )    
          .def( 
              "place"
              , (void ( ::osgParticle::SegmentPlacer::* )( ::osgParticle::Particle * )const)(&::osgParticle::SegmentPlacer::place)
              , (void ( SegmentPlacer_wrapper::* )( ::osgParticle::Particle * )const)(&SegmentPlacer_wrapper::default_place)
              , ( bp::arg("P") ) )    
          .def( 
              "setSegment"
              , (void ( ::osgParticle::SegmentPlacer::* )( ::osg::Vec3 const &,::osg::Vec3 const & ))( &::osgParticle::SegmentPlacer::setSegment )
              , ( bp::arg("A"), bp::arg("B") ) )    
          .def( 
              "setVertexA"
              , (void ( ::osgParticle::SegmentPlacer::* )( ::osg::Vec3 const & ))( &::osgParticle::SegmentPlacer::setVertexA )
              , ( bp::arg("v") ) )    
          .def( 
              "setVertexA"
              , (void ( ::osgParticle::SegmentPlacer::* )( float,float,float ))( &::osgParticle::SegmentPlacer::setVertexA )
              , ( bp::arg("x"), bp::arg("y"), bp::arg("z") ) )    
          .def( 
              "setVertexB"
              , (void ( ::osgParticle::SegmentPlacer::* )( ::osg::Vec3 const & ))( &::osgParticle::SegmentPlacer::setVertexB )
              , ( bp::arg("v") ) )    
          .def( 
              "setVertexB"
              , (void ( ::osgParticle::SegmentPlacer::* )( float,float,float ))( &::osgParticle::SegmentPlacer::setVertexB )
              , ( bp::arg("x"), bp::arg("y"), bp::arg("z") ) )    
          .def( 
              "volume"
              , (float ( ::osgParticle::SegmentPlacer::* )(  )const)(&::osgParticle::SegmentPlacer::volume)
              , (float ( SegmentPlacer_wrapper::* )(  )const)(&SegmentPlacer_wrapper::default_volume) );
  
  }
  