Hi Aurora,
To assign the no data value do:
hfLayer->setValidDataOperator(new osgTerrain::NoDataValue(0.0f));
Also you shouldn't need a ShapeDrawable when you are using
osgTerrain::Terrain, but you will need to assign a TerrainTechnique
that will be used to render the terrain. See osgterrain example.
Robert.
On Feb 20, 2008 10:51 AM, aurora restivo <[EMAIL PROTECTED]> wrote:
> Hi!
>
> I apologize but I have not understood well.
> I have need to draw the ground that is in the file terrain.jpg without
> the plan that is visualized around.
> I don't understand as I must use the NoDataValue.
>
> Besides I also have problems to color the terrain.
> My objective is to draw a terrain with a casting of washes.
>
> Can you recommend me a book where to find a good documentation for my
> specific problem?
>
> Thanks
> Aurora Restivo.
>
>
>
> Robert Osfield ha scritto:
>
> > Hi Aurora,
> >
> > I think what you are looking for is the osgTerrain::ValidDataOperator
> > that you can attach to your elevation layer via
> > Layer::setValidDataOperator(operator);
> >
> > In include/osgTerrain/ValidDataOperator you'll find the NoDataValue
> > subclass which is probably what you want to use in your case.
> >
> > Robert.
> >
> > On Feb 19, 2008 12:33 PM, aurora restivo <[EMAIL PROTECTED]> wrote:
> >
> >> Hi!
> >>
> >> the image jpg in enclosure, is the result of the terrain that I have
> >> drawn beginning from the matrix of the altitudes.
> >> I would want to know if a way exists for not visualizing the quotas
> >> equal to 0.
> >>
> >> the source code is found in the file morfologia.txt
> >>
> >> Thanks in advance.
> >> Aurora Restivo
> >>
> >>
> >>
> >>
>
>
> int** m= g->leggiFile("morf0.txt");
>
>
> osg::HeightField* hF = new osg::HeightField();
> hF->allocate(296,410);
>
> for(int i=0; i< 410; i++)
> {
> for(int j=0; j<296 ;j++)
> {
> if(m[i][j]!=0)
> hF->setHeight(j,i, m[i][j]);
> else
> hF->setHeight(j,i, m[i][j]);
> }
> }
>
> hF->setXInterval(41.0);
> hF->setYInterval(29.6);
>
> osg::Quat* quat= new osg::Quat(0,0,180,45);
> hF->setRotation(*quat);
>
>
> osgTerrain::Terrain* terrainNode= new osgTerrain::Terrain();
> osgTerrain::HeightFieldLayer* hFLayer= new
> osgTerrain::HeightFieldLayer();
>
> hFLayer->setHeightField(hF);
> terrainNode->setElevationLayer(hFLayer);
>
>
>
> osg::Geode* geode= new osg::Geode();
> osg::ShapeDrawable* draw= new osg::ShapeDrawable(hF);
> geode->addDrawable(draw);
> _______________________________________________
> 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