X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=src%2Ftim%2Fprune%2Ffunction%2FExport3dFunction.java;fp=src%2Ftim%2Fprune%2Ffunction%2FExport3dFunction.java;h=f3b7aa5a937f901130e6226de63a6240472ae93a;hp=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465 diff --git a/src/tim/prune/function/Export3dFunction.java b/src/tim/prune/function/Export3dFunction.java new file mode 100644 index 0000000..f3b7aa5 --- /dev/null +++ b/src/tim/prune/function/Export3dFunction.java @@ -0,0 +1,61 @@ +package tim.prune.function; + +import tim.prune.App; +import tim.prune.GenericFunction; +import tim.prune.threedee.ImageDefinition; +import tim.prune.threedee.TerrainDefinition; + +/** + * Abstract superclass of any 3d export function, currently only the PovExporter + */ +public abstract class Export3dFunction extends GenericFunction +{ + /** altitude exaggeration factor */ + protected double _altFactor = 5.0; + /** definition of terrain */ + protected TerrainDefinition _terrainDef = null; + /** definition of base image */ + protected ImageDefinition _imageDef = null; + + /** + * Required constructor + * @param inApp App object + */ + public Export3dFunction(App inApp) { + super(inApp); + } + + /** + * Set the coordinates for the camera + * @param inX X coordinate of camera + * @param inY Y coordinate of camera + * @param inZ Z coordinate of camera + */ + public abstract void setCameraCoordinates(double inX, double inY, double inZ); + + /** + * @param inFactor exaggeration factor + */ + public void setAltitudeExaggeration(double inFactor) + { + if (inFactor >= 1.0) { + _altFactor = inFactor; + } + } + + /** + * @param inDefinition terrain definition, or null + */ + public void setTerrainDefinition(TerrainDefinition inDefinition) + { + _terrainDef = inDefinition; + } + + /** + * @param inDefinition image definition, or null + */ + public void setImageDefinition(ImageDefinition inDefinition) + { + _imageDef = inDefinition; + } +}