Franclin Foping wrote on Thursday, July 31, 2008 7:34 AM:
> Hi Alberto,
> Indeed, that conversion is not possible. Do you know any other algorithms to
> retrieve texture coordinates of nodes made of a loaded model? In your
> previous post, you mention using indexes but assuming a Geometry node. The
> problem here is that here there is no Geometry node so your previous advice
> was not a huge boon. I thought that I could use a visitorto retrieve its
> Drawable objects, turn them into Geometry objects and use your trick but I
> was wrong as it is impossible to convert from Drawable to Geometry. Here is
> the situation. Waiting for your reply. F.
If the Drawable's supports(AttributeFunctor&) returns true, you can write a
subclass of AttributeFunctor to access the texture coordinates. ShapeDrawable's
supports(ConstAttributeFunctor) returns true, so if you have ShapeDrawables you
could use that.
Something like (untested):
class GetTextureCoords : public osg::Drawable::ConstAttributeFunctor
{
public:
void apply(AttributeType type, unsigned int count, const GLbyte* coords)
{
if (type != TEXTURE_COORDS)
return;
// coords contains texture coordinates here
}
// ... other apply() functions ...
};
HTH
> Alberto Luaces <[EMAIL PROTECTED]> a écrit :
>
> Hi Franclin,
>
> El Jueves 31 Julio 2008ES 14:10:13 Franclin Foping escribió:
> > retrieve its Drawable objects, convert them to Geometry
>
> As you have been told earlier, that conversion can only be done if the
> Drawable pointer really points to a Geometry object. Otherwise no
> conversion
> is made and you get a null pointer.
>
> Alberto
--
Bryan Thrall
FlightSafety International
[EMAIL PROTECTED]
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org