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