// 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 #include #include "held_ptr.hpp" using namespace boost::python; namespace PyOSGParticle { void init_SectorPlacer() { class_, bases > placer("SectorPlacer", "A sector-shaped particle placer." "This placer sets the initial position of incoming particle by choosing a random position " "within a circular sector; this sector is defined by three parameters: a center point, " "which is inherited directly from osgParticle::CenteredPlacer, a range of values " "for radius, and a range of values for the central angle (sometimes called phi).", no_init); placer.def(init<>()); placer.def("getRadiusRange", &osgParticle::SectorPlacer::getRadiusRange, "Get the range of possible values for radius.", return_internal_reference<>()); placer.def("setRadiusRange", (void(osgParticle::SectorPlacer::*)(const osgParticle::rangef&)) &osgParticle::SectorPlacer::setRadiusRange, "Set the range of possible values for radius."); placer.def("setRadiusRange", (void(osgParticle::SectorPlacer::*)(float, float)) &osgParticle::SectorPlacer::setRadiusRange, "Set the range of possible values for radius."); placer.def("getPhiRange", &osgParticle::SectorPlacer::getPhiRange, "Get the range of possible values for the central angle.", return_internal_reference<>()); placer.def("setPhiRange", (void(osgParticle::SectorPlacer::*)(const osgParticle::rangef&)) &osgParticle::SectorPlacer::setPhiRange, "Set the range of possible values for the central angle."); placer.def("setPhiRange", (void(osgParticle::SectorPlacer::*)(float, float)) &osgParticle::SectorPlacer::setPhiRange, "Set the range of possible values for the central angle."); } } #if 0 Place a particle. Do not call it manually. inline void place(Particle *P) const; #endif