// Copyright (C) 2004 Brett Hartshorn (bhartsho@yahoo.com) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. // Permission to modify the code and to distribute modified code is granted // provided this copyright notice appears in all copies, and a notice // that the code was modified is included with the copyright notice. // // This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. #include #include #include #include "held_ptr.hpp" using namespace boost::python; namespace PyOSG { void init_DataSet() { class_("SpatialProperties") .def(init<>()) .def("assignSpatialProperties", &osgTerrain::DataSet::SpatialProperties::assignSpatialProperties, return_internal_reference<>()) //.def("computeExtents", &osgTerrain::DataSet::SpatialProperties::computeExtents) ; class_ >("DestinationData", no_init) //.def(init<>()) ; class_ >("SourceData") .def(init<>()) .def("readData", &osgTerrain::DataSet::SourceData::readData, return_internal_reference<>()) .def("getExtents", &osgTerrain::DataSet::SourceData::getExtents) //.def("computeSpatialProperties", &osgTerrain::DataSet::SourceData::computeSpatialProperties) .def("intersects", &osgTerrain::DataSet::SourceData::intersects) .def("read", &osgTerrain::DataSet::SourceData::read) .def("readImage", &osgTerrain::DataSet::SourceData::readImage) .def("readHeightField", &osgTerrain::DataSet::SourceData::readHeightField) .def("readModels", &osgTerrain::DataSet::SourceData::readModels) ; class_ >("Source") .def(init<>()) .def("setSortValue", &osgTerrain::DataSet::Source::setSortValue) .def("getSortValue", &osgTerrain::DataSet::Source::getSortValue) .def("setSortValueFromSourceDataResolution", &osgTerrain::DataSet::Source::setSortValueFromSourceDataResolution) // TODO enums //.def("setType", &osgTerrain::DataSet::Source::setType) //.def("getType", &osgTerrain::DataSet::Source::getType, return_internal_reference<>()) .def("setFileName", &osgTerrain::DataSet::Source::setFileName) .def("getFileName", &osgTerrain::DataSet::Source::getFileName, return_internal_reference<>()) .def("setTemporaryFile", &osgTerrain::DataSet::Source::setTemporaryFile) .def("getTemporaryFile", &osgTerrain::DataSet::Source::getTemporaryFile) // TODO enums //.def("setCoordinateSystemPolicy", &osgTerrain::DataSet::Source::setCoordinateSystemPolicy) //.def("getCoordinateSystemPolicy", &osgTerrain::DataSet::Source::getCoordinateSystemPolicy, return_internal_reference<>()) .def("setCoordinateSystem", (void (osgTerrain::DataSet::Source::*)(const std::string&)) &osgTerrain::DataSet::Source::setCoordinateSystem) .def("setCoordinateSystem", (void (osgTerrain::DataSet::Source::*)(osg::CoordinateSystemNode*)) &osgTerrain::DataSet::Source::setCoordinateSystem) .def("getCoordinateSystem", &osgTerrain::DataSet::Source::getCoordinateSystem, return_internal_reference<>()) // TODO enums //.def("setGeoTransformPolicy", &osgTerrain::DataSet::Source::setGeoTransformPolicy) //.def("getGeoTransformPolicy", &osgTerrain::DataSet::Source::getGeoTransformPolicy, return_internal_reference<>()) .def("setGeoTransform", &osgTerrain::DataSet::Source::setGeoTransform) .def("getGeoTransform", &osgTerrain::DataSet::Source::getGeoTransform, return_internal_reference<>()) .def("setMinLevel", &osgTerrain::DataSet::Source::setMinLevel) .def("setMaxLevel", &osgTerrain::DataSet::Source::setMaxLevel) .def("setMinMaxLevel", &osgTerrain::DataSet::Source::setMinMaxLevel) .def("getMinLevel", &osgTerrain::DataSet::Source::getMinLevel) .def("getMaxLevel", &osgTerrain::DataSet::Source::getMaxLevel) .def("setSourceData", &osgTerrain::DataSet::Source::setSourceData) .def("getSourceData", &osgTerrain::DataSet::Source::getSourceData, return_internal_reference<>()) .def("intersects", &osgTerrain::DataSet::Source::intersects) .def("loadSourceData", &osgTerrain::DataSet::Source::loadSourceData) .def("needReproject", (bool (osgTerrain::DataSet::Source::*)(const osg::CoordinateSystemNode*) const) &osgTerrain::DataSet::Source::needReproject) .def("needReproject", (bool (osgTerrain::DataSet::Source::*)(const osg::CoordinateSystemNode*, double, double) const) &osgTerrain::DataSet::Source::needReproject) .def("doReproject", &osgTerrain::DataSet::Source::doReproject, return_internal_reference<>()) .def("buildOverviews", &osgTerrain::DataSet::Source::buildOverviews) // TODO ResolutionPair ; class_ >("CompositeSource") .def(init<>()) .def("sort", &osgTerrain::DataSet::CompositeSource::sort) ; class_ >("DestinationTile") //.def(init<>()) //.def("computeNeighboursFromQuadMap", &osgTerrain::DataSet::DestinationTile::computeNeighboursFromQuadMap) .def("setNeighbours", &osgTerrain::DataSet::DestinationTile::setNeighbours) .def("checkNeighbouringTiles", &osgTerrain::DataSet::DestinationTile::checkNeighbouringTiles) .def("setMaximumImagerySize", &osgTerrain::DataSet::DestinationTile::setMaximumImagerySize) .def("setMaximumTerrainSize", &osgTerrain::DataSet::DestinationTile::setMaximumTerrainSize) .def("allocate", &osgTerrain::DataSet::DestinationTile::allocate) .def("addRequiredResolutions", &osgTerrain::DataSet::DestinationTile::addRequiredResolutions) .def("readFrom", &osgTerrain::DataSet::DestinationTile::readFrom) .def("equalizeCorner", &osgTerrain::DataSet::DestinationTile::equalizeCorner) .def("equalizeEdge", &osgTerrain::DataSet::DestinationTile::equalizeEdge) .def("equalizeBoundaries", &osgTerrain::DataSet::DestinationTile::equalizeBoundaries) .def("setTileComplete", &osgTerrain::DataSet::DestinationTile::setTileComplete) .def("getTileComplete", &osgTerrain::DataSet::DestinationTile::getTileComplete) .def("optimizeResolution", &osgTerrain::DataSet::DestinationTile::optimizeResolution) .def("createScene", &osgTerrain::DataSet::DestinationTile::createScene, return_internal_reference<>()) .def("createStateSet", &osgTerrain::DataSet::DestinationTile::createStateSet, return_internal_reference<>()) .def("createHeightField", &osgTerrain::DataSet::DestinationTile::createHeightField, return_internal_reference<>()) .def("createPolygonal", &osgTerrain::DataSet::DestinationTile::createPolygonal, return_internal_reference<>()) .def("unrefData", &osgTerrain::DataSet::DestinationTile::unrefData) ; class_, bases, boost::noncopyable > compositeDestination("CompositeDestination", no_init); compositeDestination .def(init<>()) .def("addRequiredResolutions", &osgTerrain::DataSet::CompositeDestination::addRequiredResolutions) .def("readFrom", &osgTerrain::DataSet::CompositeDestination::readFrom) .def("equalizeBoundaries", &osgTerrain::DataSet::CompositeDestination::equalizeBoundaries) .def("createScene", &osgTerrain::DataSet::CompositeDestination::createScene, return_internal_reference<>()) .def("areSubTilesComplete", &osgTerrain::DataSet::CompositeDestination::areSubTilesComplete) .def("getSubTileName", &osgTerrain::DataSet::CompositeDestination::getSubTileName) .def("createPagedLODScene", &osgTerrain::DataSet::CompositeDestination::createPagedLODScene, return_internal_reference<>()) .def("createSubTileScene", &osgTerrain::DataSet::CompositeDestination::createSubTileScene, return_internal_reference<>()) .def("unrefSubTileData", &osgTerrain::DataSet::CompositeDestination::unrefSubTileData) .def("unrefLocalData", &osgTerrain::DataSet::CompositeDestination::unrefLocalData) .def("setSubTilesGenerated", &osgTerrain::DataSet::CompositeDestination::setSubTilesGenerated) .def("getSubTilesGenerated", &osgTerrain::DataSet::CompositeDestination::getSubTilesGenerated) ; class_, bases, boost::noncopyable > dataSet("DataSet", no_init); dataSet .def(init<>()) .def("insertTileToQuadMap", &osgTerrain::DataSet::insertTileToQuadMap) .def("getTile", &osgTerrain::DataSet::getTile, return_internal_reference<>()) .def("getComposite", &osgTerrain::DataSet::getComposite, return_internal_reference<>()) .def("getRow", &osgTerrain::DataSet::getRow, return_internal_reference<>()) .def("addSource", (void (osgTerrain::DataSet::*)(osgTerrain::DataSet::Source*)) &osgTerrain::DataSet::addSource) .def("addSource", (void (osgTerrain::DataSet::*)(osgTerrain::DataSet::CompositeSource*)) &osgTerrain::DataSet::addSource) .def("loadSources", &osgTerrain::DataSet::loadSources) .def("setMaximumTileImageSize", &osgTerrain::DataSet::setMaximumTileImageSize) .def("getMaximumTileImageSize", &osgTerrain::DataSet::getMaximumTileImageSize) .def("setMaximumTileTerrainSize", &osgTerrain::DataSet::setMaximumTileTerrainSize) .def("getMaximumTileTerrainSize", &osgTerrain::DataSet::getMaximumTileTerrainSize) .def("setMaximumVisibleDistanceOfTopLevel", &osgTerrain::DataSet::setMaximumVisibleDistanceOfTopLevel) .def("getMaximumVisibleDistanceOfTopLevel", &osgTerrain::DataSet::getMaximumVisibleDistanceOfTopLevel) .def("setRadiusToMaxVisibleDistanceRatio", &osgTerrain::DataSet::setRadiusToMaxVisibleDistanceRatio) .def("getRadiusToMaxVisibleDistanceRatio", &osgTerrain::DataSet::getRadiusToMaxVisibleDistanceRatio) .def("setVerticalScale", &osgTerrain::DataSet::setVerticalScale) .def("getVerticalScale", &osgTerrain::DataSet::getVerticalScale) .def("setSkirtRatio", &osgTerrain::DataSet::setSkirtRatio) .def("getSkirtRatio", &osgTerrain::DataSet::getSkirtRatio) .def("setDefaultColor", &osgTerrain::DataSet::setDefaultColor) .def("getDefaultColor", &osgTerrain::DataSet::getDefaultColor, return_internal_reference<>()) .def("setDestinationCoordinateSystem", (void (osgTerrain::DataSet::*)(const std::string&)) &osgTerrain::DataSet::setDestinationCoordinateSystem) .def("setDestinationCoordinateSystem", (void (osgTerrain::DataSet::*)(osg::CoordinateSystemNode*)) &osgTerrain::DataSet::setDestinationCoordinateSystem) .def("getDestinationCoordinateSystem", &osgTerrain::DataSet::getDestinationCoordinateSystem, return_internal_reference<>()) .def("setIntermediateCoordinateSystem", (void (osgTerrain::DataSet::*)(const std::string&)) &osgTerrain::DataSet::setIntermediateCoordinateSystem) .def("setIntermediateCoordinateSystem", (void (osgTerrain::DataSet::*)(osg::CoordinateSystemNode*)) &osgTerrain::DataSet::setIntermediateCoordinateSystem) .def("getIntermediateCoordinateSystem", &osgTerrain::DataSet::getIntermediateCoordinateSystem, return_internal_reference<>()) .def("setConvertFromGeographicToGeocentric", &osgTerrain::DataSet::setConvertFromGeographicToGeocentric) .def("getConvertFromGeographicToGeocentric", &osgTerrain::DataSet::getConvertFromGeographicToGeocentric) .def("setEllipsoidModel", &osgTerrain::DataSet::setEllipsoidModel) .def("getEllipsoidModel", (osg::EllipsoidModel*(osgTerrain::DataSet::*)()) &osgTerrain::DataSet::getEllipsoidModel, return_internal_reference<>()) .def("setDestinationExtents", &osgTerrain::DataSet::setDestinationExtents) .def("setDestinationGeoTransform", &osgTerrain::DataSet::setDestinationGeoTransform) .def("setDestinationTileBaseName", &osgTerrain::DataSet::setDestinationTileBaseName) .def("getDestinationTileBaseName", &osgTerrain::DataSet::getDestinationTileBaseName, return_internal_reference<>()) .def("setDestinationTileExtension", &osgTerrain::DataSet::setDestinationTileExtension) .def("getDestinationTileExtension", &osgTerrain::DataSet::getDestinationTileExtension, return_internal_reference<>()) // TODO add the enums and their functions (DatabaseType, GeometryType, TextureType, MipMappingMode) .def("setMaxAnisotropy", &osgTerrain::DataSet::setMaxAnisotropy) .def("getMaxAnisotropy", &osgTerrain::DataSet::getMaxAnisotropy) .def("setUseLocalTileTransform", &osgTerrain::DataSet::setUseLocalTileTransform) .def("getUseLocalTileTransform", &osgTerrain::DataSet::getUseLocalTileTransform) // do we need this? //.def("setDecorateGeneratedSceneGraphWithCoordinateSystemNode", //&osgTerrain::DataSet::setDecorateGeneratedSceneGraphWithCoordinateSystemNode) //.def("getDecorateGeneratedSceneGraphWithCoordinateSystemNode", //&osgTerrain::DataSet::getDecorateGeneratedSceneGraphWithCoordinateSystemNode) .def("setCommentString", &osgTerrain::DataSet::setCommentString) .def("getCommentString", &osgTerrain::DataSet::getCommentString, return_internal_reference<>()) .def("createDestinationGraph", &osgTerrain::DataSet::createDestinationGraph, return_internal_reference<>()) .def("createDestination", &osgTerrain::DataSet::createDestination) .def("writeDestination", &osgTerrain::DataSet::writeDestination) .def("getDestinationRootNode", &osgTerrain::DataSet::getDestinationRootNode, return_internal_reference<>()) ; } } //namespace