Hi Gianni,

here is working code snippet with the line

*osg::Geometry* createPyramid(const osg::Matrixd& iTransform, const
osg::Vec4& iColor)*
*{*
*  osg::Geometry* geom = new osg::Geometry;*
*
*
*  osg::Vec3Array* vertices = new osg::Vec3Array(5+2);*
*  (*vertices)[0].set(iTransform.preMult(osg::Vec3d(8.0f, 0.0f, 0.0f)));*
*  (*vertices)[1].set(iTransform.preMult(osg::Vec3d(0.0f, 8.0f, 0.0f)));*
*  (*vertices)[2].set(iTransform.preMult(osg::Vec3d(-8.0f, 0.0f, 0.0f)));*
*  (*vertices)[3].set(iTransform.preMult(osg::Vec3d(0.0f, -8.0f, 0.0f)));*
*  (*vertices)[4].set(iTransform.preMult(osg::Vec3d(0.0f, 0.0f, 25.0f)));*
*
*
*  (*vertices)[5].set(iTransform.preMult(osg::Vec3d(0.0f, 0.0f, 25.0f)));
//4line*
*  (*vertices)[6].set(iTransform.preMult(osg::Vec3d(0.0f, 0.0f, -50.0f)));
//4line*
*
*
*  osg::UByteArray* indices = new osg::UByteArray(20);*
*  (*indices)[0]=0;  (*indices)[1]=1;  (*indices)[2]=4;*
*  (*indices)[3]=1;  (*indices)[4]=2;  (*indices)[5]=4;*
*  (*indices)[6]=2;  (*indices)[7]=3;  (*indices)[8]=4;*
*  (*indices)[9]=3;  (*indices)[10]=0; (*indices)[11]=4;*
*  (*indices)[12]=1; (*indices)[13]=0; (*indices)[14]=3;*
*  (*indices)[15]=2; (*indices)[16]=1; (*indices)[17]=3;*
*
*
*  (*indices)[18]=5;*
*  (*indices)[19]=6;*
*
*
*  geom->setVertexArray(vertices);*
*  geom->setVertexIndices(indices);*
*
*
*  osg::Vec4Array* colors = new osg::Vec4Array;*
*  colors->push_back(iColor);*
*  geom->setColorArray(colors);*
*  geom->setColorBinding(osg::Geometry::BIND_OVERALL);*
*
*
*  geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::TRIANGLES,
0, indices->size()-2));*
*
*
*  geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::LINES,
indices->size()-2, 2)); //4line*
*
*
*  return geom;*
*}*
-Nick


On Wed, Jun 23, 2010 at 5:32 PM, Gianni Ambrosio <[email protected]> wrote:

> Hi,
> what's wrong in the following code?
>
>
> Code:
> osg::Geometry* createPyramid(const osg::Matrixd& iTransform, const
> osg::Vec4& iColor)
> {
>   osg::Geometry* geom = new osg::Geometry;
>
>   osg::Vec3Array* vertices = new osg::Vec3Array(5+2);
>   (*vertices)[0].set(iTransform.preMult(osg::Vec3d(8.0f, 0.0f, 0.0f)));
>   (*vertices)[1].set(iTransform.preMult(osg::Vec3d(0.0f, 8.0f, 0.0f)));
>   (*vertices)[2].set(iTransform.preMult(osg::Vec3d(-8.0f, 0.0f, 0.0f)));
>   (*vertices)[3].set(iTransform.preMult(osg::Vec3d(0.0f, -8.0f, 0.0f)));
>   (*vertices)[4].set(iTransform.preMult(osg::Vec3d(0.0f, 0.0f, 25.0f)));
>
>   (*vertices)[5].set(iTransform.preMult(osg::Vec3d(0.0f, 0.0f, 25.0f)));
> //4line
>   (*vertices)[6].set(iTransform.preMult(osg::Vec3d(0.0f, 0.0f, -50.0f)));
> //4line
>
>   osg::UByteArray* indices = new osg::UByteArray(18);
>   (*indices)[0]=0;  (*indices)[1]=1;  (*indices)[2]=4;
>   (*indices)[3]=1;  (*indices)[4]=2;  (*indices)[5]=4;
>   (*indices)[6]=2;  (*indices)[7]=3;  (*indices)[8]=4;
>   (*indices)[9]=3;  (*indices)[10]=0; (*indices)[11]=4;
>   (*indices)[12]=1; (*indices)[13]=0; (*indices)[14]=3;
>   (*indices)[15]=2; (*indices)[16]=1; (*indices)[17]=3;
>
>   geom->setVertexArray(vertices);
>   geom->setVertexIndices(indices);
>
>   osg::Vec4Array* colors = new osg::Vec4Array;
>   colors->push_back(iColor);
>   geom->setColorArray(colors);
>   geom->setColorBinding(osg::Geometry::BIND_OVERALL);
>
>   geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::TRIANGLES,
> 0, indices->size()));
>
>   geom->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::LINES, 5,
> 2)); //4line
>
>   return geom;
> }
>
>
>
> I added the three "//4line" lines of code to explain my problem. In this
> case I would add a line starting from the top of the pyramid downwards but I
> just see the pyramid instead.
>
> Regards
> Gianni
>
> ------------------
> Read this topic online here:
> http://forum.openscenegraph.org/viewtopic.php?p=29322#29322
>
>
>
>
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to