Hi Paul,

I'm just reviewing your changes now.  All they seem to do is an
addChild, which makes me wonder why don't you just do a:

  dragger->addChild(mysubgraph);

As it's the same thing as

  dragger->setupCustomGeometry(customDragger);

I also don't understand they this method only takes a MatrixTransform
as a parameter.

Robert.

On Sat, Nov 1, 2008 at 12:57 PM, Paul McIntosh
<[EMAIL PROTECTED]> wrote:
> Hi Robert,
>
> No problems. Files attached. Let me know if there are any issues.
>
> Cheers,
>
> Paul
>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] On
>> Behalf Of Robert Osfield
>> Sent: Saturday, 1 November 2008 9:31 PM
>> To: OpenSceneGraph Submissions
>> Subject: Re:
>> [osg-submissions]Dragger::setupCustomGeometry(osg::MatrixTrans
>> form* customxform)
>>
>> Hi Paul,
>>
>> Could you post whole changed files, copy and paste in a email
>> is not appropriate form as it's very prone to errors.
>>
>> Thanks,
>> Robeert.
>>
>> On Sat, Nov 1, 2008 at 11:14 AM, Paul McIntosh
>> <[EMAIL PROTECTED]> wrote:
>> > Hi All,
>> >
>> > This is my first submission so hopefully it will make sense...
>> >
>> > This is a very simple but powerful change to the osgManipulator
>> > "Dragger" class, it allows you to specify your own custom
>> geometry for
>> > a dragger when you create it. The actual osg changes are
>> very simple,
>> > but I have also included an example of how to use it
>> (because that is
>> > the hardest bit). I think the how to use comments should be
>> added to
>> > the Dragger code somewhere (Dragger.cpp?).
>> >
>> >
>> > "Dragger"
>> >
>> > /** Setup custom geometry for dragger. */ void
>> > setupCustomGeometry(osg::MatrixTransform* customxform);
>> >
>> >
>> > "Dragger.cpp"
>> >
>> > /** Setup custom geometry for dragger. */ void
>> > Dragger::setupCustomGeometry(osg::MatrixTransform* customxform) {
>> >        addChild(customxform);
>> > }
>> >
>> > "How to use"
>> >
>> > /* Here is an example of using setupCustomGeometry // As
>> before create
>> > the type of dragger that you need dragger = new
>> > osgManipulator::Translate2DDragger();
>> >
>> > // however instead of calling "dragger->setupDefaultGeometry();"
>> > // create your own geometry to suit your task (refer to
>> > setupDefaultGeometry() for hints)
>> > // an example of a "box" dragger looks like...
>> > osg::ref_ptr<osg::MatrixTransform> customDraggerxform = new
>> > osg::MatrixTransform; osg::ref_ptr<osg::Geode> customDraggerGeode
> =
>> > new osg::Geode; osg::ref_ptr<osg::Box> box = new osg::Box
>> > (osg::Vec3(0.0f,0.0f,0.0f), 400.0f, 2.0f, 400.0f);
>> > osg::ref_ptr<osg::Drawable> drawable = new
>> > osg::ShapeDrawable(box.get());
>> > //osgManipulator::setDrawableToAlwaysCull(*drawable); //
>> you can make
>> > draggers invisible too
>> > customDraggerGeode->addDrawable(drawable.get());
>> > customDraggerxform->addChild(customDraggerGeode.get());
>> >
>> > // once you have your geometry, pass it to the dragger to
>> use as the
>> > pick geometry
>> > dragger->setupCustomGeometry(customDraggerxform.get());
>> > */
>> >
>> > Cheers,
>> >
>> > Paul
>> > --
>> > Paul McIntosh
>> > www.internetscooter.com
>> >
>> > _______________________________________________
>> > osg-submissions mailing list
>> > [email protected]
>> >
>>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscene
>> > graph.org
>> >
>> _______________________________________________
>> osg-submissions mailing list
>> [email protected]
>> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-o
>> penscenegraph.org
>>
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to