Added TextureType and GeometryType parameters to DataSet. These will be used

to control what type of database is generated.
This commit is contained in:
Robert Osfield
2004-03-21 12:17:44 +00:00
parent 88bbdb325d
commit ec1fd733b8
3 changed files with 61 additions and 19 deletions

View File

@@ -136,8 +136,6 @@ int main( int argc, char **argv )
int pos = 1;
while(pos<arguments.argc())
{
argumentRead = false;
std::string def;
osgTerrain::DataSet::Source* source = 0;
@@ -149,50 +147,78 @@ int main( int argc, char **argv )
}
else if (arguments.read(pos, "--identity"))
{
argumentRead = true;
geoTransformSet = false;
geoTransform.makeIdentity();
}
// x vector
else if (arguments.read(pos, "--xx",geoTransform(0,0)))
{
argumentRead = true;
geoTransformSet = true;
std::cout<<"--xs "<<geoTransform(0,0)<<std::endl;
std::cout<<"--xx "<<geoTransform(0,0)<<std::endl;
}
else if (arguments.read(pos, "--xy",geoTransform(1,0)))
{
geoTransformSet = true;
std::cout<<"--xy "<<geoTransform(1,0)<<std::endl;
}
else if (arguments.read(pos, "--xz",geoTransform(2,0)))
{
geoTransformSet = true;
std::cout<<"--xz "<<geoTransform(2,0)<<std::endl;
}
else if (arguments.read(pos, "--xt",geoTransform(3,0)))
{
argumentRead = true;
geoTransformSet = true;
std::cout<<"--xo "<<geoTransform(3,0)<<std::endl;
}
// y vector
else if (arguments.read(pos, "--yx",geoTransform(0,1)))
{
geoTransformSet = true;
std::cout<<"--yx "<<geoTransform(0,1)<<std::endl;
}
else if (arguments.read(pos, "--yy",geoTransform(1,1)))
{
argumentRead = true;
geoTransformSet = true;
std::cout<<"--yy "<<geoTransform(1,1)<<std::endl;
}
else if (arguments.read(pos, "--yz",geoTransform(2,1)))
{
geoTransformSet = true;
std::cout<<"--yz "<<geoTransform(2,1)<<std::endl;
}
else if (arguments.read(pos, "--yt",geoTransform(3,1)))
{
argumentRead = true;
geoTransformSet = true;
std::cout<<"--yt "<<geoTransform(3,1)<<std::endl;
}
// z vector
else if (arguments.read(pos, "--zx",geoTransform(0,2)))
{
geoTransformSet = true;
std::cout<<"--zx "<<geoTransform(0,2)<<std::endl;
}
else if (arguments.read(pos, "--zy",geoTransform(1,2)))
{
geoTransformSet = true;
std::cout<<"--zy "<<geoTransform(1,2)<<std::endl;
}
else if (arguments.read(pos, "--zz",geoTransform(2,2)))
{
argumentRead = true;
geoTransformSet = true;
std::cout<<"--zz "<<geoTransform(2,2)<<std::endl;
}
else if (arguments.read(pos, "--zt",geoTransform(3,2)))
{
argumentRead = true;
geoTransformSet = true;
std::cout<<"--zt "<<geoTransform(3,2)<<std::endl;
}
else if (arguments.read(pos, "-d",filename))
{
argumentRead = true;
if (!filename.empty())
{
std::cout<<"-d "<<filename<<std::endl;
@@ -202,8 +228,6 @@ int main( int argc, char **argv )
}
else if (arguments.read(pos, "-t",filename))
{
argumentRead = true;
if (!filename.empty())
{
std::cout<<"-t "<<filename<<std::endl;
@@ -212,8 +236,6 @@ int main( int argc, char **argv )
}
else if (arguments.read(pos, "-m",filename))
{
argumentRead = true;
if (!filename.empty())
{
std::cout<<"-m "<<filename<<std::endl;
@@ -224,8 +246,6 @@ int main( int argc, char **argv )
{
std::cout<<"-o "<<filename<<std::endl;
argumentRead = true;
std::string path = osgDB::getFilePath(filename);
std::string base = path.empty()?osgDB::getStrippedName(filename):
path +'/'+ osgDB::getStrippedName(filename);

View File

@@ -878,6 +878,24 @@ class DataSet : public osg::Referenced
void setDatabaseType(DatabaseType type) { _databaseType = type; }
DatabaseType getDatabaseType() const { return _databaseType; }
enum GeometryType
{
HEIGHT_FIELD,
POLYGONAL,
};
void setGeometryType(GeometryType type) { _geometryType = type; }
GeometryType getGeometryType() const { return _geometryType; }
enum TextureType
{
RGB_24_BIT,
RGB_16_BIT,
COMPRESSED_TEXTURE
};
void setTextureType(TextureType type) { _textureType = type; }
TextureType getTextureType() const { return _textureType; }
void writeDestination();
osg::Node* getDestinationRootNode() { return _rootNode.get(); }
@@ -909,6 +927,8 @@ class DataSet : public osg::Referenced
std::string _tileExtension;
osg::Vec4 _defaultColor;
DatabaseType _databaseType;
GeometryType _geometryType;
TextureType _textureType;
osg::ref_ptr<osg::Node> _rootNode;

View File

@@ -2147,7 +2147,9 @@ DataSet::DataSet()
_defaultColor.set(0.5f,0.5f,1.0f,1.0f);
_databaseType = PagedLOD_DATABASE;
_geometryType = POLYGONAL;
_textureType = COMPRESSED_TEXTURE;
}
void DataSet::init()