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
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to