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; } }