// Copyright (C) 2002-2003 Gideon May (gideon@computer.org) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. // Permission to modify the code and to distribute modified code is granted // provided this copyright notice appears in all copies, and a notice // that the code was modified is included with the copyright notice. // // This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. // #include #include #include #include "held_ptr.hpp" using namespace boost::python; namespace PyOSGParticle { void init_SegmentPlacer() { class_, bases, boost::noncopyable > placer("SegmentPlacer", "A segment-shaped particle placer.\n" "To use this placer you have to define a segment, by setting its two vertices (A and B);\n" "when an emitter requests a SegmentPlacer to place a particle, the position is chosen randomly\n" "within that segment.\n", no_init); placer .def(init<>()) .def("getVertexA", &osgParticle::SegmentPlacer::getVertexA, return_internal_reference<>()) .def("setVertexA", (void (osgParticle::SegmentPlacer::*)(const osg::Vec3&)) &osgParticle::SegmentPlacer::setVertexA) .def("setVertexA", (void (osgParticle::SegmentPlacer::*)(float, float, float)) &osgParticle::SegmentPlacer::setVertexA) .def("getVertexB", &osgParticle::SegmentPlacer::getVertexB, return_internal_reference<>()) .def("setVertexB", (void (osgParticle::SegmentPlacer::*)(const osg::Vec3&)) &osgParticle::SegmentPlacer::setVertexB) .def("setVertexB", (void (osgParticle::SegmentPlacer::*)(float, float, float)) &osgParticle::SegmentPlacer::setVertexB) .def("setSegment", &osgParticle::SegmentPlacer::setSegment) ; } }