+ /**
+ * Export track data as Pov without specifying settings
+ */
+ public void exportPov()
+ {
+ exportPov(false, 0.0, 0.0, 0.0, 0);
+ }
+
+ /**
+ * Export track data as Pov and also specify settings
+ * @param inX X component of unit vector
+ * @param inY Y component of unit vector
+ * @param inZ Z component of unit vector
+ * @param inAltitudeCap altitude cap
+ */
+ public void exportPov(double inX, double inY, double inZ, int inAltitudeCap)
+ {
+ exportPov(true, inX, inY, inZ, inAltitudeCap);
+ }
+
+ /**
+ * Export track data as Pov with optional angle specification
+ * @param inDefineAngles true to define angles, false to ignore
+ * @param inX X component of unit vector
+ * @param inY Y component of unit vector
+ * @param inZ Z component of unit vector
+ */
+ private void exportPov(boolean inDefineSettings, double inX, double inY, double inZ, int inAltitudeCap)
+ {
+ // Check track has data to export
+ if (_track == null || _track.getNumPoints() <= 0)
+ {
+ JOptionPane.showMessageDialog(_frame, I18nManager.getText("error.save.nodata"),
+ I18nManager.getText("error.save.dialogtitle"), JOptionPane.ERROR_MESSAGE);
+ }
+ else
+ {
+ // Make new exporter if necessary
+ if (_povExporter == null)
+ {
+ _povExporter = new PovExporter(this, _frame, _track);
+ }
+ // Specify angles if necessary
+ if (inDefineSettings)
+ {
+ _povExporter.setCameraCoordinates(inX, inY, inZ);
+ _povExporter.setAltitudeCap(inAltitudeCap);
+ }
+ // Initiate export
+ _povExporter.showDialog();
+ }
+ }
+
+