Main Page | Packages | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ikayaki.Project Class Reference

Collaboration diagram for ikayaki.Project:

Collaboration graph
[legend]
List of all members.

Public Types

enum  Type { Calibration, AF, Thellier, name = name }
enum  State { IDLE, MEASURING, PAUSED, ABORTED }
enum  SampleType { CORE, HAND }
enum  Orientation { PLUS_Z, MINUS_Z }
enum  Normalization { VOLUME, MASS }

Public Member Functions

synchronized Document getDocument ()
synchronized boolean isModified ()
synchronized void save ()
boolean saveNow ()
boolean exportToDAT (File file)
boolean exportToSRM (File file)
boolean exportToTDT (File file)
synchronized File getFile ()
synchronized Type getType ()
synchronized boolean isHolderCalibration ()
synchronized State getState ()
boolean isClosed ()
synchronized String getName ()
synchronized Date getTimestamp ()
synchronized Squid getSquid ()
synchronized boolean setSquid (Squid squid)
synchronized String getProperty (String key)
synchronized String getProperty (String key, String defaultValue)
synchronized void setProperty (String key, String value)
synchronized double getStrike ()
synchronized void setStrike (double strike)
synchronized double getDip ()
synchronized void setDip (double dip)
synchronized SampleType getSampleType ()
synchronized void setSampleType (SampleType sampleType)
synchronized Orientation getOrientation ()
synchronized void setOrientation (Orientation orientation)
Normalization getNormalization ()
void setNormalization (Normalization normalization)
synchronized double getMass ()
synchronized void setMass (double mass)
synchronized double getVolume ()
synchronized void setVolume (double volume)
synchronized double getSusceptibility ()
synchronized void setSusceptibility (double susceptibility)
synchronized void addProjectListener (ProjectListener l)
synchronized void removeProjectListener (ProjectListener l)
synchronized void addMeasurementListener (MeasurementListener l)
synchronized void removeMeasurementListener (MeasurementListener l)
synchronized boolean addSequence (MeasurementSequence append)
synchronized MeasurementSequence copySequence (int start, int end)
synchronized MeasurementSequence copySequence (int...indices)
synchronized boolean addStep (MeasurementStep step)
synchronized boolean addStep (int index, MeasurementStep step)
synchronized boolean removeStep (int index)
synchronized boolean removeStep (int start, int end)
synchronized int getSteps ()
synchronized int getCompletedSteps ()
synchronized MeasurementStep getStep (int index)
synchronized MeasurementStep getCurrentStep ()
synchronized< A > A getValue (int index, MeasurementValue< A > algorithm)
synchronized boolean isDegaussingEnabled ()
synchronized boolean isSequenceEditEnabled ()
synchronized boolean isManualControlEnabled ()
synchronized boolean isAutoStepEnabled ()
synchronized boolean isSingleStepEnabled ()
synchronized boolean isPauseEnabled ()
synchronized boolean isAbortEnabled ()
synchronized boolean doAutoStep ()
synchronized boolean doSingleStep ()
synchronized boolean doPause ()
synchronized boolean doAbort ()
synchronized boolean doManualMoveDegausserY ()
synchronized boolean doManualMoveDegausserZ ()
synchronized boolean doManualMoveBackground ()
synchronized boolean doManualMoveMeasurement ()
synchronized boolean doManualMoveHome ()
synchronized boolean doManualMoveRightLimit ()
synchronized boolean doManualMoveLeftLimit ()
synchronized boolean doManualRotate (int angle)
synchronized boolean doManualMeasure ()
synchronized boolean doManualReset ()
synchronized boolean doManualDemagZ (double amplitude)
synchronized boolean doManualDemagY (double amplitude)
synchronized boolean doManualStepDone ()

Static Public Member Functions

static Project createCalibrationProject (File file)
static Project createAFProject (File file)
static Project createThellierProject (File file)
static Project createThermalProject (File file)
static synchronized Project createProject (File file, Type type)
static synchronized Project loadProject (File file)
static synchronized boolean closeProject (Project project)
static synchronized Project[] getCachedProjects ()
static Type getType (File file)

Static Public Attributes

static final String MEASUREMENT_TYPE_PROPERTY = "measurementType"
static final String MEASUREMENT_TYPE_AUTO_VALUE = "AUTO"
static final String MEASUREMENT_TYPE_MANUAL_VALUE = "MANUAL"
static final String OPERATOR_PROPERTY = "operator"
static final String DATE_PROPERTY = "date"
static final String ROCK_TYPE_PROPERTY = "rockType"
static final String AREA_PROPERTY = "area"
static final String SITE_PROPERTY = "site"
static final String COMMENT_PROPERTY = "comment"
static final String LATITUDE_PROPERTY = "latitude"
static final String LONGITUDE_PROPERTY = "longitude"

Protected Member Functions

synchronized Matrix3d getTransform ()
synchronized void fireProjectEvent (ProjectEvent.Type type)
synchronized void fireMeasurementEvent (MeasurementStep step, MeasurementEvent.Type type)

Private Types

enum  ManualMovePosition {
  DEGAUSSER_Y, DEGAUSSER_Z, BACKGROUND, MEASUREMENT,
  HOME, RIGHT_LIMIT, LEFT_LIMIT
}
enum  ManualDemagAxel { Z, Y }

Private Member Functions

 Project (File file, Type type)
 Project (File file, Document document)
void setState (State state)
synchronized void updateTransforms ()
void runMeasurement ()
synchronized boolean doManualMove (ManualMovePosition position)

Static Private Member Functions

static String pad (String s, int length, int alignment)

Private Attributes

final File file
final Type type
State state = IDLE
boolean closed = false
Squid squid = null
final Properties properties = new Properties()
MeasurementSequence sequence = new MeasurementSequence()
double strike = 0.0
double dip = 0.0
SampleType sampleType = HAND
Orientation orientation = MINUS_Z
Normalization normalization = VOLUME
Matrix3d transform = new Matrix3d()
double mass = -1.0
double volume = -1.0
double susceptibility = -1.0
MeasurementStep currentStep = null
final EventListenerList listenerList = new EventListenerList()
boolean modified = false
final LastExecutor autosaveQueue = new LastExecutor(500, true)
Runnable autosaveRunnable

Static Private Attributes

static final boolean DEBUG = false
static final Hashtable< File,
Project
projectCache = new Hashtable<File, Project>()
static final Hashtable< File,
Object > 
projectTypeCache = new Hashtable<File, Object>()

Classes

class  DummyMeasurement
class  ManualDemag
class  ManualMeasure
class  ManualMove
class  ManualRotate
class  Measurement

Detailed Description

Represents a measurement project file. Project is responsible for managing and storing the data that is recieved from the magnetometer measurements. Any changes made to the project will be written to file regularly (autosave). <p/> Project is responsible for controlling the magnetometer through the SQUID API. Controlling the SQUID will be done in a private worker thread. Only one project at a time may access the SQUID. <p/> All operations are thread-safe.

Author:
Esko Luontola

Definition at line 66 of file Project.java.


Member Enumeration Documentation

enum ikayaki::Project::ManualDemagAxel [private]
 

Enumeration values:
Z 
Y 

Definition at line 2798 of file Project.java.

enum ikayaki::Project::ManualMovePosition [private]
 

Enumeration values:
DEGAUSSER_Y 
DEGAUSSER_Z 
BACKGROUND 
MEASUREMENT 
HOME 
RIGHT_LIMIT 
LEFT_LIMIT 

Definition at line 2654 of file Project.java.

enum ikayaki::Project::Normalization
 

The type of normalization to use for the measurement values.

Enumeration values:
VOLUME 
MASS 

Definition at line 2318 of file Project.java.

enum ikayaki::Project::Orientation
 

The orientation of the sample in the measurements.

Enumeration values:
PLUS_Z 
MINUS_Z 

Definition at line 2311 of file Project.java.

enum ikayaki::Project::SampleType
 

The type of a measured sample.

Enumeration values:
CORE 
HAND 

Definition at line 2304 of file Project.java.

enum ikayaki::Project::State
 

The state of the project's measurements.

Enumeration values:
IDLE 
MEASURING 
PAUSED 
ABORTED 

Definition at line 2297 of file Project.java.

enum ikayaki::Project::Type
 

The type of the project.

Enumeration values:
Calibration 
AF 
Thellier 
name 

Definition at line 2280 of file Project.java.


Constructor & Destructor Documentation

ikayaki.Project.Project File  file,
Type  type
[private]
 

Creates a new project of the specified type. This constructor will not write to file, so the user of this method should call the saveNow() method after the project is initialized.

Parameters:
file path for this project file. The file should exist (may be empty) and be writable, but this constructor will not check it.
type type of the project.
Exceptions:
NullPointerException if any of the parameters is null.

Definition at line 480 of file Project.java.

References ikayaki.Project.file, ikayaki.Project.modified, ikayaki.Project.type, and ikayaki.Project.updateTransforms().

Referenced by ikayaki.Project.createProject(), and ikayaki.Project.loadProject().

Here is the call graph for this function:

ikayaki.Project.Project File  file,
Document  document
[private]
 

Creates a new project from the specified document. This constructor will assume that the specified file is the same from which the document was read.

Parameters:
file path for this project file. The file should be the same from which document was read and be writable, but this constructor will not check it.
document the document from which this project will be created.
Exceptions:
NullPointerException if any of the parameters is null.
IllegalArgumentException if the document was not in the right format.

Definition at line 500 of file Project.java.

References ikayaki.Project.dip, ikayaki.Project.file, ikayaki.MeasurementStep.getState(), ikayaki.MeasurementSequence.getStep(), ikayaki.MeasurementSequence.getSteps(), ikayaki.MeasurementStep.getTimestamp(), ikayaki.Project.mass, ikayaki.Project.MEASURING, ikayaki.Project.modified, ikayaki.Project.normalization, ikayaki.Project.orientation, ikayaki.Project.properties, ikayaki.Project.sampleType, ikayaki.Project.sequence, ikayaki.Project.strike, ikayaki.Project.susceptibility, ikayaki.Project.type, ikayaki.Project.updateTransforms(), and ikayaki.Project.volume.

Here is the call graph for this function:


Member Function Documentation

synchronized void ikayaki.Project.addMeasurementListener MeasurementListener  l  ) 
 

Adds a MeasurementListener to the project.

Parameters:
l the listener to be added.

Definition at line 1545 of file Project.java.

Referenced by ikayaki.gui.ProjectComponent.setProject(), and ikayaki.gui.MeasurementSequenceTableModel.setProject().

synchronized void ikayaki.Project.addProjectListener ProjectListener  l  ) 
 

Adds a ProjectListener to the project.

Parameters:
l the listener to be added.

Definition at line 1506 of file Project.java.

References ikayaki.Project.listenerList.

Referenced by ikayaki.gui.ProjectExplorerPanel.setProject(), ikayaki.gui.ProjectComponent.setProject(), ikayaki.gui.MeasurementSequenceTableModel.setProject(), ikayaki.gui.MainViewPanel.setProject(), and ikayaki.gui.CalibrationPanel.setProject().

synchronized boolean ikayaki.Project.addSequence MeasurementSequence  append  ) 
 

Appends a sequence to this project's sequence. Only the stepValues will be copied from the specified sequence and added as new steps to this project. <p/> If isSequenceEditEnabled() is false, nothing will be done.

Parameters:
append the measurement sequence to be appended.
Returns:
true if the steps were added, or false if isSequenceEditEnabled() was false.
Exceptions:
NullPointerException if sequence is null.

Definition at line 1590 of file Project.java.

References ikayaki.MeasurementSequence.getStep(), ikayaki.MeasurementSequence.getSteps(), ikayaki.MeasurementStep.getStepValue(), and ikayaki.MeasurementStep.setStepValue().

Here is the call graph for this function:

synchronized boolean ikayaki.Project.addStep int  index,
MeasurementStep  step
 

Adds a step to the specified index of this project's sequence. Only the stepValue will be copied from the specified step and added as a new step to this project. <p/> The index must be such, that the indices of the completed measurements will not change. <p/> If isSequenceEditEnabled() is false, nothing will be done.

Parameters:
index the index to which the step will be added.
step the measurement step to be added.
Returns:
true if the step was added, or false if isSequenceEditEnabled() was false.
Exceptions:
IndexOutOfBoundsException if the index is out of range (index < getCompletedSteps() || index > getSteps()).
NullPointerException if step is null.

Definition at line 1686 of file Project.java.

References ikayaki.MeasurementStep.getStepValue(), and ikayaki.MeasurementStep.setStepValue().

Here is the call graph for this function:

synchronized boolean ikayaki.Project.addStep MeasurementStep  step  ) 
 

Appends a step to this project's sequence. Only the stepValue will be copied from the specified step and added as a new step to this project.

Parameters:
step the measurement step to be added.
Returns:
true, it is always possible to append a step.
Exceptions:
NullPointerException if step is null.

Definition at line 1657 of file Project.java.

References ikayaki.MeasurementStep.getStepValue(), and ikayaki.MeasurementStep.setStepValue().

Here is the call graph for this function:

static synchronized boolean ikayaki.Project.closeProject Project  project  )  [static]
 

Ensures that the project file is saved and frees the resources taken by the project. The closed project will automatically detach itself from the Squid. The closed project is removed from the projectCache. <p/> A project should not be used after it has been closed – any further use of the object is undefined (will create an IllegalStateException if somebody tries to modify it). A project can not be closed if it has a measurement running.

Parameters:
project project to be closed.
Returns:
true if the project has been closed, false if a measurement is running and the project can not be closed.
Exceptions:
NullPointerException if the project is null.

Definition at line 352 of file Project.java.

References ikayaki.Project.autosaveRunnable, ikayaki.Project.closed, ikayaki.Project.getFile(), ikayaki.Project.getState(), ikayaki.Project.IDLE, ikayaki.Project.isClosed(), ikayaki.Project.projectCache, ikayaki.Project.saveNow(), and ikayaki.Project.setSquid().

Here is the call graph for this function:

synchronized MeasurementSequence ikayaki.Project.copySequence int...  indices  ) 
 

Returns a copy of this project's sequence. Only the stepValues will be copied from this project's sequence. The returned sequence will have no name.

Parameters:
indices indices of the steps to be included in the sequence. The steps will be included in the same order as their indices are listed.
Returns:
copy of the sequence with only stepValues and no results.
Exceptions:
IndexOutOfBoundsException if any of the indices is out of range (index < 0 || index >= getSteps()).

Definition at line 1639 of file Project.java.

References ikayaki.MeasurementSequence.addStep(), and ikayaki.MeasurementStep.setStepValue().

Here is the call graph for this function:

synchronized MeasurementSequence ikayaki.Project.copySequence int  start,
int  end
 

Returns a copy of this project's sequence. Only the stepValues will be copied from this project's sequence. The returned sequence will have no name.

Parameters:
start index of the first step in the sequence.
end index of the last step in the sequence. If end < start, then an empty sequence will be returned.
Returns:
copy of the sequence with only stepValues and no results.
Exceptions:
IndexOutOfBoundsException if the index is out of range (start < 0 || end >= getSteps()).

Definition at line 1617 of file Project.java.

References ikayaki.MeasurementSequence.addStep(), and ikayaki.MeasurementStep.setStepValue().

Here is the call graph for this function:

static Project ikayaki.Project.createAFProject File  file  )  [static]
 

Creates an AF project file.

Parameters:
file path for the new project file.
Returns:
the created project, or null if file was not writable or it already existed.
Exceptions:
NullPointerException if file is null.

Definition at line 225 of file Project.java.

References ikayaki.Project.AF, and ikayaki.Project.createProject().

Here is the call graph for this function:

static Project ikayaki.Project.createCalibrationProject File  file  )  [static]
 

Creates a calibration project file.

Parameters:
file path for the new project file.
Returns:
the created project, or null if file was not writable or it already existed.
Exceptions:
NullPointerException if file is null.

Definition at line 214 of file Project.java.

References ikayaki.Project.createProject().

Here is the call graph for this function:

static synchronized Project ikayaki.Project.createProject File  file,
Type  type
[static]
 

Creates a project file of the specified type. Ensures that the project file has been written to disk. Adds the created Project object to projectCache.

Parameters:
file path for the new project file.
type type of the project.
Returns:
the created project, or null if file was not writable or it already existed.
Exceptions:
NullPointerException if file or type is null.

Definition at line 260 of file Project.java.

References ikayaki.Project.getType(), ikayaki.Project.Project(), ikayaki.Project.projectCache, ikayaki.Project.projectTypeCache, and ikayaki.Project.saveNow().

Referenced by ikayaki.Project.createAFProject(), ikayaki.Project.createCalibrationProject(), ikayaki.gui.MainViewPanel.createProject(), ikayaki.Project.createThellierProject(), and ikayaki.Project.createThermalProject().

Here is the call graph for this function:

static Project ikayaki.Project.createThellierProject File  file  )  [static]
 

Creates a thellier project file.

Parameters:
file path for the new project file.
Returns:
the created project, or null if file was not writable or it already existed.
Exceptions:
NullPointerException if file is null.

Definition at line 236 of file Project.java.

References ikayaki.Project.createProject().

Here is the call graph for this function:

static Project ikayaki.Project.createThermalProject File  file  )  [static]
 

Creates a thermal project file.

Parameters:
file path for the new project file.
Returns:
the created project, or null if file was not writable or it already existed.
Exceptions:
NullPointerException if file is null.

Definition at line 247 of file Project.java.

References ikayaki.Project.createProject().

Here is the call graph for this function:

synchronized boolean ikayaki.Project.doAbort  ) 
 

Aborts the currently running measurement. An aborted measurement will halt immediately and leave the handler where it was (enables manual control). Will do nothing if isAbortEnabled() is false. <p/> This method will notify the measurement thread to abort, but will not wait for it to finish.

Returns:
true if the measurement will abort, otherwise false.

Definition at line 2051 of file Project.java.

synchronized boolean ikayaki.Project.doAutoStep  ) 
 

Starts an auto step measurement. If isAutoStepEnabled() is false but is isSingleStepEnabled() is true, will start a single step measurement. Will do nothing if both are false. If there are no unmeasured steps in the sequence, will add one for a measurement without demagnetization. <p/> The measurement will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the measurement was started, otherwise false.

Definition at line 1970 of file Project.java.

synchronized boolean ikayaki.Project.doManualDemagY double  amplitude  ) 
 

Demagnetizes the sample in Y direction with the specified amplitude. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Parameters:
amplitude the amplitude to demagnetize in mT.
Returns:
true if the operation was started, otherwise false.

Definition at line 2249 of file Project.java.

synchronized boolean ikayaki.Project.doManualDemagZ double  amplitude  ) 
 

Demagnetizes the sample in Z direction with the specified amplitude. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Parameters:
amplitude the amplitude to demagnetize in mT.
Returns:
true if the operation was started, otherwise false.

Definition at line 2231 of file Project.java.

synchronized boolean ikayaki.Project.doManualMeasure  ) 
 

Measures the X, Y and Z of the sample. Adds the results as a new measurement step to the project. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2186 of file Project.java.

synchronized boolean ikayaki.Project.doManualMove ManualMovePosition  position  )  [private]
 

Moves the sample handler to the specified position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Parameters:
position the position to move the handler to.
Returns:
true if the operation was started, otherwise false.

Definition at line 2071 of file Project.java.

synchronized boolean ikayaki.Project.doManualMoveBackground  ) 
 

Moves the sample handler to the Background position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2109 of file Project.java.

synchronized boolean ikayaki.Project.doManualMoveDegausserY  ) 
 

Moves the sample handler to the DegausserY position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2087 of file Project.java.

synchronized boolean ikayaki.Project.doManualMoveDegausserZ  ) 
 

Moves the sample handler to the DegausserZ position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2098 of file Project.java.

synchronized boolean ikayaki.Project.doManualMoveHome  ) 
 

Moves the sample handler to the Home position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2132 of file Project.java.

synchronized boolean ikayaki.Project.doManualMoveLeftLimit  ) 
 

Moves the sample handler to the LeftLimit position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2156 of file Project.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.ManualControlsPanel().

synchronized boolean ikayaki.Project.doManualMoveMeasurement  ) 
 

Moves the sample handler to the Measurement position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2120 of file Project.java.

synchronized boolean ikayaki.Project.doManualMoveRightLimit  ) 
 

Moves the sample handler to the RightLimit position. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2144 of file Project.java.

synchronized boolean ikayaki.Project.doManualReset  ) 
 

Resets the X, Y and Z of the sample. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the operation was started, otherwise false.

Definition at line 2203 of file Project.java.

synchronized boolean ikayaki.Project.doManualRotate int  angle  ) 
 

Rotates the sample handler to the specified angle. Will do nothing if isManualControlEnabled() is false. <p/> The operation will run in its own thread, and this method will not wait for it to finish.

Parameters:
angle the angle to rotate the handler to.
Returns:
true if the operation was started, otherwise false.

Definition at line 2169 of file Project.java.

synchronized boolean ikayaki.Project.doManualStepDone  ) 
 

Marks the on-going manual measurement step as completed. If there is a manual measurement going on, the project has one on-going measurement step event though the project's state is IDLE. Calling this method when no other manual operation is active, will set that step completed.

Returns:
true if the operation was successful, in which case no measurement step is anymore on-going.

Definition at line 2265 of file Project.java.

References ikayaki.MeasurementStep.setDone().

Here is the call graph for this function:

synchronized boolean ikayaki.Project.doPause  ) 
 

Pauses the currently running measurement. A paused measurement will halt after it finishes the current measurement step. <s>Will do nothing if isPauseEnabled() is false.</s> Will work even if isPauseEnabled() is false. <p/> This method will notify the measurement thread to pause, but will not wait for it to finish.

Returns:
true if the measurement will pause, otherwise false.

Definition at line 2027 of file Project.java.

synchronized boolean ikayaki.Project.doSingleStep  ) 
 

Starts a single step measurement. Will do nothing if isSingleStepEnabled() is false. <p/> The measurement will run in its own thread, and this method will not wait for it to finish.

Returns:
true if the measurement was started, otherwise false.

Definition at line 2006 of file Project.java.

boolean ikayaki.Project.exportToDAT File  file  ) 
 

Writes the project to a file in DAT format. Will overwrite the file if it already exists.

Parameters:
file the file to write to.
Returns:
true if the file was successfully written, otherwise false.
Exceptions:
NullPointerException if file is null.

Definition at line 811 of file Project.java.

References ikayaki.Project.AREA_PROPERTY, ikayaki.Project.COMMENT_PROPERTY, ikayaki.Project.CORE, ikayaki.Project.getCompletedSteps(), ikayaki.Project.getDip(), ikayaki.Project.getMass(), ikayaki.Project.getName(), ikayaki.Project.getProperty(), ikayaki.Project.getSampleType(), ikayaki.Project.getStep(), ikayaki.MeasurementStep.getStepValue(), ikayaki.Project.getStrike(), ikayaki.Project.getSusceptibility(), ikayaki.MeasurementStep.getSusceptibility(), ikayaki.Project.getType(), ikayaki.Project.getVolume(), ikayaki.Project.LATITUDE_PROPERTY, ikayaki.Project.LONGITUDE_PROPERTY, ikayaki.Project.pad(), ikayaki.Project.ROCK_TYPE_PROPERTY, and ikayaki.Project.SITE_PROPERTY.

Referenced by ikayaki.gui.MainViewPanel.exportProject().

Here is the call graph for this function:

boolean ikayaki.Project.exportToSRM File  file  ) 
 

Writes the project to a file in SRM format. Will overwrite the file if it already exists.

Parameters:
file the file to write to.
Returns:
true if the file was successfully written, otherwise false.
Exceptions:
NullPointerException if file is null.

Definition at line 1010 of file Project.java.

Referenced by ikayaki.gui.MainViewPanel.exportProject().

boolean ikayaki.Project.exportToTDT File  file  ) 
 

Writes the project to a file in TDT format. Will overwrite the file if it already exists.

Parameters:
file the file to write to.
Returns:
true if the file was successfully written, otherwise false.
Exceptions:
NullPointerException if file is null.

Definition at line 1024 of file Project.java.

References ikayaki.Project.getCompletedSteps(), ikayaki.Project.getDip(), ikayaki.Project.getName(), ikayaki.Project.getProperty(), ikayaki.Project.getStep(), ikayaki.MeasurementStep.getStepValue(), ikayaki.Project.getStrike(), ikayaki.Project.getType(), ikayaki.Project.LATITUDE_PROPERTY, ikayaki.Project.LONGITUDE_PROPERTY, and ikayaki.Project.pad().

Referenced by ikayaki.gui.MainViewPanel.exportProject().

Here is the call graph for this function:

synchronized void ikayaki.Project.fireMeasurementEvent MeasurementStep  step,
MeasurementEvent.Type  type
[protected]
 

Notifies all listeners that have registered for MeasurementEvents.

Parameters:
step the measurement step that has generated the event.
type the type of the event.

Definition at line 1564 of file Project.java.

synchronized void ikayaki.Project.fireProjectEvent ProjectEvent.Type  type  )  [protected]
 

Notifies all listeners that have registered for ProjectEvents.

Parameters:
type type of the event.

Definition at line 1524 of file Project.java.

References ikayaki.Project.listenerList, and ikayaki.Project.type.

Referenced by ikayaki.Project.saveNow(), ikayaki.Project.setDip(), ikayaki.Project.setMass(), ikayaki.Project.setNormalization(), ikayaki.Project.setOrientation(), ikayaki.Project.setSampleType(), ikayaki.Project.setSquid(), ikayaki.Project.setState(), ikayaki.Project.setStrike(), ikayaki.Project.setSusceptibility(), and ikayaki.Project.setVolume().

static synchronized Project [] ikayaki.Project.getCachedProjects  )  [static]
 

Returns an array containing all the projects that are in the project cache.

Definition at line 388 of file Project.java.

References ikayaki.Project.projectCache.

Referenced by ikayaki.gui.MainViewPanel.exitProgram().

synchronized int ikayaki.Project.getCompletedSteps  ) 
 

Returns the number of completed steps in this project. Steps that are currently being measured, are included in this count. Completed steps are always first in the sequence.

Definition at line 1770 of file Project.java.

References ikayaki.MeasurementStep.getState().

Referenced by ikayaki.Project.exportToDAT(), and ikayaki.Project.exportToTDT().

Here is the call graph for this function:

synchronized MeasurementStep ikayaki.Project.getCurrentStep  ) 
 

Returns the step that is currently being measured.

Returns:
the currently measured step, or null if no measurement is active.

Definition at line 1799 of file Project.java.

synchronized double ikayaki.Project.getDip  ) 
 

Returns the dip of the sample. The unit is degrees (0 to 180).

Definition at line 1311 of file Project.java.

References ikayaki.Project.dip.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.Project.exportToTDT(), ikayaki.gui.PrintPanel.PrintPanel(), ikayaki.gui.ProjectInformationPanel.setProject(), and ikayaki.Project.updateTransforms().

synchronized Document ikayaki.Project.getDocument  ) 
 

Exports this project to a DOM document.

Returns:
the exported document, or null if there was a error.

Definition at line 677 of file Project.java.

References ikayaki.Project.dip, ikayaki.MeasurementSequence.getElement(), ikayaki.Project.mass, ikayaki.Project.normalization, ikayaki.Project.orientation, ikayaki.Project.properties, ikayaki.Project.sampleType, ikayaki.Project.sequence, ikayaki.Project.strike, ikayaki.Project.susceptibility, ikayaki.Project.type, and ikayaki.Project.volume.

Referenced by ikayaki.Project.saveNow().

Here is the call graph for this function:

synchronized File ikayaki.Project.getFile  ) 
 

Returns the project file of this project.

Definition at line 1130 of file Project.java.

References ikayaki.Project.file.

Referenced by ikayaki.Project.closeProject(), ikayaki.Project.getName(), ikayaki.Project.isHolderCalibration(), ikayaki.gui.ProjectExplorerPanel.ProjectExplorerPanel(), ikayaki.gui.ProjectExplorerTable.ProjectExplorerTableModel.projectUpdated(), ikayaki.Project.saveNow(), ikayaki.gui.ProjectExplorerPanel.setProject(), and ikayaki.gui.MainViewPanel.setProject().

synchronized double ikayaki.Project.getMass  ) 
 

Returns the mass of the sample. The unit is gram.

Returns:
mass of the sample, or a negative number if no mass is specified.

Definition at line 1437 of file Project.java.

References ikayaki.Project.mass.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.NormalizedValue.normalize(), ikayaki.gui.PrintPanel.PrintPanel(), and ikayaki.gui.ProjectInformationPanel.setProject().

synchronized String ikayaki.Project.getName  ) 
 

Returns the name of this project. The name is equal to the name of the project file without the file extension.

Definition at line 1182 of file Project.java.

References ikayaki.Project.getFile(), and ikayaki.Project.name.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.Project.exportToTDT(), ikayaki.gui.ProjectExplorerPanel.getAutocompleteFiles(), ikayaki.gui.PrintPanel.PrintPanel(), ikayaki.gui.ProjectExplorerTable.ProjectExplorerPopupMenu.ProjectExplorerPopupMenu(), and ikayaki.gui.MainViewPanel.setProject().

Here is the call graph for this function:

Normalization ikayaki.Project.getNormalization  ) 
 

Returns the normalization to be used for the measurement values.

Definition at line 1372 of file Project.java.

References ikayaki.Project.normalization.

Referenced by ikayaki.NormalizedValue.getUnit(), ikayaki.NormalizedValue.normalize(), and ikayaki.gui.ProjectInformationPanel.setProject().

synchronized Orientation ikayaki.Project.getOrientation  ) 
 

Returns the orientation of the sample.

Definition at line 1350 of file Project.java.

References ikayaki.Project.orientation.

Referenced by ikayaki.MeasurementResult.applyFixes(), and ikayaki.gui.MeasurementControlsPanel.setProject().

synchronized String ikayaki.Project.getProperty String  key,
String  defaultValue
 

Returns a project information property.

Parameters:
key the key which is associated with the property.
defaultValue a default value
Returns:
the specified property, or defaultValue if the property is not set.

Definition at line 1276 of file Project.java.

References ikayaki.Project.properties.

synchronized String ikayaki.Project.getProperty String  key  ) 
 

Returns a project information property.

Parameters:
key the key which is associated with the property.
Returns:
the specified property, or null if the property is not set.

Definition at line 1265 of file Project.java.

References ikayaki.Project.properties.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.Project.exportToTDT(), ikayaki.gui.PrintPanel.PrintPanel(), ikayaki.gui.MeasurementSequenceTableModel.saveColumn(), ikayaki.gui.ProjectInformationPanel.setProject(), and ikayaki.gui.MeasurementSequenceTableModel.setProject().

synchronized SampleType ikayaki.Project.getSampleType  ) 
 

Returns the type of the sample.

Definition at line 1328 of file Project.java.

References ikayaki.Project.sampleType.

Referenced by ikayaki.Project.exportToDAT(), and ikayaki.gui.ProjectInformationPanel.setProject().

synchronized Squid ikayaki.Project.getSquid  ) 
 

Returns the Squid if this project is its owner, otherwise returns null. <p/> (NOTE: Is public too unsafe? Maybe return a Proxy (see design patterns), so others can know where the handler is moving but not control it?)

Definition at line 1212 of file Project.java.

References ikayaki.Project.squid.

Referenced by ikayaki.gui.MeasurementControlsPanel.setProject(), and ikayaki.Project.setSquid().

synchronized State ikayaki.Project.getState  ) 
 

Returns the current measurement state of this project.

Returns:
the state of the project, or null if the project has been closed.

Definition at line 1157 of file Project.java.

References ikayaki.Project.state.

Referenced by ikayaki.Project.closeProject(), ikayaki.gui.ProjectExplorerTable.ProjectExplorerTableModel.projectUpdated(), ikayaki.gui.MainViewPanel.projectUpdated(), ikayaki.squid.Squid.setOwner(), and ikayaki.Project.setSquid().

synchronized MeasurementStep ikayaki.Project.getStep int  index  ) 
 

Returns a step from the sequence.

Parameters:
index the index of the step.
Returns:
the specified step.
Exceptions:
IndexOutOfBoundsException if the index is out of range (index < 0 || index >= getSteps()).

Definition at line 1790 of file Project.java.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.Project.exportToTDT(), ikayaki.gui.MeasurementSequenceTableModel.measurementUpdated(), and ikayaki.gui.PrintPanel.PrintPanel().

synchronized int ikayaki.Project.getSteps  ) 
 

Returns the number of steps in this project.

Definition at line 1762 of file Project.java.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.getRowCount(), ikayaki.gui.MeasurementSequenceTableModel.measurementUpdated(), and ikayaki.gui.PrintPanel.PrintPanel().

synchronized double ikayaki.Project.getStrike  ) 
 

Returns the strike of the sample. The unit is degrees (0 to 360).

Definition at line 1294 of file Project.java.

References ikayaki.Project.strike.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.Project.exportToTDT(), ikayaki.gui.PrintPanel.PrintPanel(), ikayaki.gui.ProjectInformationPanel.setProject(), and ikayaki.Project.updateTransforms().

synchronized double ikayaki.Project.getSusceptibility  ) 
 

Returns the susceptibility of the sample. The unit is 10^-6 SI.

Returns:
susceptibility of the sample, or a negative number if no susceptibility is specified.

Definition at line 1483 of file Project.java.

References ikayaki.Project.susceptibility.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.gui.PrintPanel.PrintPanel(), and ikayaki.gui.ProjectInformationPanel.setProject().

synchronized Date ikayaki.Project.getTimestamp  ) 
 

Returns the timestamp of the last completed measurement. This is usually less than the last modified date of the file, because this is not affected by changing the project's properties.

Returns:
the timestamp of the last measurement, or null if no measurements are completed.

Definition at line 1196 of file Project.java.

References ikayaki.MeasurementSequence.getStep(), ikayaki.MeasurementSequence.getSteps(), ikayaki.MeasurementStep.getTimestamp(), and ikayaki.Project.sequence.

Referenced by ikayaki.gui.ProjectExplorerTable.ProjectExplorerTableComparator.compareTimestamps(), and ikayaki.gui.ProjectExplorerTable.ProjectExplorerTableModel.getValueAt().

Here is the call graph for this function:

synchronized Matrix3d ikayaki.Project.getTransform  )  [protected]
 

Returns the current transformation matrix for the sample. For performance reasons, this method returns a reference to the internal data structure and not a copy of it. <p/> WARNING!!! Absolutely NO modification of the data contained in this matrix should be made – if any such manipulation is necessary, it should be done on a copy of the matrix returned rather than the matrix itself.

Returns:
reference to the transformation matrix.

Definition at line 1399 of file Project.java.

References ikayaki.Project.transform.

Referenced by ikayaki.MeasurementStep.updateTransforms().

synchronized Type ikayaki.Project.getType  ) 
 

Returns the type of this project.

Definition at line 1137 of file Project.java.

References ikayaki.Project.type.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.Project.exportToTDT(), and ikayaki.Project.isHolderCalibration().

static Type ikayaki.Project.getType File  file  )  [static]
 

Returns the type of a project file. Reads the type of the project from the specified file quickly, without fully loading the Project. The first request for each file reads from the file system, but after that the results are cached for an unspecified time.

Parameters:
file the path of the project file.
Returns:
the type of the project, or null if the file was not a project file or it was not possible to read it.
Exceptions:
NullPointerException if file is null.

Definition at line 401 of file Project.java.

References ikayaki.Project.projectTypeCache, and ikayaki.Project.type.

Referenced by ikayaki.gui.ProjectExplorerTable.ProjectExplorerTableComparator.compare(), ikayaki.Project.createProject(), ikayaki.Project.loadProject(), ikayaki.gui.PrintPanel.PrintPanel(), ikayaki.gui.ProjectExplorerPanel.setProject(), and ikayaki.gui.MainViewPanel.setProject().

synchronized<A> A ikayaki.Project.getValue int  index,
MeasurementValue< A >  algorithm
 

Calculates and returns a value from a measurement step. The specified MeasurementValue's algorithm will be used and the results returned.

Parameters:
index the measurement step from which the value is calculated.
algorithm the algorithm for calculating the desired value.
Returns:
the value returned by the algorithm, or null if it was not possible to calculate it.
Exceptions:
NullPointerException if algorithm is null.
IndexOutOfBoundsException if the index is out of range (index < 0 || index >= getSteps()).

Definition at line 1813 of file Project.java.

Referenced by ikayaki.gui.StereoPlot.add(), ikayaki.gui.IntensityPlot.add(), ikayaki.gui.MeasurementSequenceTableModel.getValueAt(), ikayaki.gui.PrintPanel.PrintPanel(), and ikayaki.gui.ProjectInformationPanel.saveParameters().

synchronized double ikayaki.Project.getVolume  ) 
 

Returns the volume of the sample. The unit is cm^3.

Returns:
volume of the sample, or a negative number if no volume is specified.

Definition at line 1460 of file Project.java.

References ikayaki.Project.volume.

Referenced by ikayaki.Project.exportToDAT(), ikayaki.NormalizedValue.normalize(), ikayaki.gui.PrintPanel.PrintPanel(), and ikayaki.gui.ProjectInformationPanel.setProject().

synchronized boolean ikayaki.Project.isAbortEnabled  ) 
 

Tells whether it is possible to abort the measurement. The returned value depends on the type and state of this project.

Definition at line 1953 of file Project.java.

synchronized boolean ikayaki.Project.isAutoStepEnabled  ) 
 

Tells whether it is allowed to do an auto step measurement. The returned value depends on the type and state of this project.

Definition at line 1895 of file Project.java.

boolean ikayaki.Project.isClosed  ) 
 

Returns true if this project has been closed with closeProject(). If it has been closed, no modifications to the project will be allowed.

Definition at line 1175 of file Project.java.

References ikayaki.Project.closed.

Referenced by ikayaki.Project.closeProject(), ikayaki.Project.save(), and ikayaki.Project.saveNow().

synchronized boolean ikayaki.Project.isDegaussingEnabled  ) 
 

Tells whether it is allowed to use the degausser in this project. The returned value depends on the type and state of this project.

Definition at line 1852 of file Project.java.

synchronized boolean ikayaki.Project.isHolderCalibration  ) 
 

Returns true if this project file has been set as the Sample Holder Calibration project in the program settings.

Definition at line 1144 of file Project.java.

References ikayaki.Project.getFile(), and ikayaki.Project.getType().

Referenced by ikayaki.MeasurementStep.addResult(), ikayaki.gui.MeasurementDetailsPanel.DetailsTableModel.getRowCount(), and ikayaki.gui.MeasurementDetailsPanel.DetailsTableModel.getValueAt().

Here is the call graph for this function:

synchronized boolean ikayaki.Project.isManualControlEnabled  ) 
 

Tells whether it is allowed to control the Squid manually. The returned value depends on the type and state of this project.

Definition at line 1880 of file Project.java.

Referenced by ikayaki.gui.MagnetometerStatusPanel.ManualControlsPanel.setProject().

synchronized boolean ikayaki.Project.isModified  ) 
 

Tells whether the project has been modified and it needs to be saved.

Definition at line 725 of file Project.java.

References ikayaki.Project.modified.

Referenced by ikayaki.Project.saveNow().

synchronized boolean ikayaki.Project.isPauseEnabled  ) 
 

Tells whether it is possible to pause the measurement. The returned value depends on the type and state of this project.

Definition at line 1935 of file Project.java.

synchronized boolean ikayaki.Project.isSequenceEditEnabled  ) 
 

Tells whether it is allowed to edit the sequence. The returned value depends on the type and state of this project.

Definition at line 1866 of file Project.java.

Referenced by ikayaki.gui.MeasurementSequenceTableModel.getRowCount().

synchronized boolean ikayaki.Project.isSingleStepEnabled  ) 
 

Tells whether it is allowed to do a single step measurement. The returned value depends on the type and state of this project.

Definition at line 1916 of file Project.java.

static synchronized Project ikayaki.Project.loadProject File  file  )  [static]
 

Loads a saved project file. If the file has already been loaded, will return a reference to the existing Project object.

Parameters:
file project file to be loaded.
Returns:
the loaded project, or null if file is not a valid project file or it was not readable.
Exceptions:
NullPointerException if file is null.

Definition at line 300 of file Project.java.

References ikayaki.Project.getType(), ikayaki.Project.Project(), ikayaki.Project.projectCache, and ikayaki.Project.projectTypeCache.

Referenced by ikayaki.gui.ProjectExplorerTable.ProjectExplorerTableComparator.compareTimestamps(), ikayaki.gui.ProjectExplorerTable.ProjectExplorerTableModel.getValueAt(), ikayaki.gui.MainViewPanel.loadProject(), ikayaki.Ikayaki.main(), and ikayaki.gui.MainViewPanel.MainViewPanel().

Here is the call graph for this function:

static String ikayaki.Project.pad String  s,
int  length,
int  alignment
[static, private]
 

Adds spaces to a string until it is the right length. Used when exporting to different file formats.

Parameters:
s the string to be padded.
length the desired length for the result string.
alignment alignmet of the text. -1 for left, 0 for center and 1 for right align.
Returns:
the input string appended with spaces. Its length is equal or greater to the specified length.

Definition at line 784 of file Project.java.

Referenced by ikayaki.Project.exportToDAT(), and ikayaki.Project.exportToTDT().

synchronized void ikayaki.Project.removeMeasurementListener MeasurementListener  l  ) 
 

Removes a MeasurementListener from the project.

Parameters:
l the listener to be removed

Definition at line 1554 of file Project.java.

Referenced by ikayaki.gui.ProjectComponent.setProject(), and ikayaki.gui.MeasurementSequenceTableModel.setProject().

synchronized void ikayaki.Project.removeProjectListener ProjectListener  l  ) 
 

Removes a ProjectListener from the project.

Parameters:
l the listener to be removed

Definition at line 1515 of file Project.java.

References ikayaki.Project.listenerList.

Referenced by ikayaki.gui.ProjectComponent.setProject(), and ikayaki.gui.MeasurementSequenceTableModel.setProject().

synchronized boolean ikayaki.Project.removeStep int  start,
int  end
 

Removes a series of steps from this project's sequence. Completed measurements can not be removed. <p/> If isSequenceEditEnabled() is false, nothing will be done.

Parameters:
start the first index to be removed.
end the last index to be removed. If end < start, no steps will be removed.
Returns:
true if the steps were removed, or false if isSequenceEditEnabled() was false.
Exceptions:
IndexOutOfBoundsException if the index is out of range (start < getCompletedSteps() || end >= getSteps()).

Definition at line 1743 of file Project.java.

synchronized boolean ikayaki.Project.removeStep int  index  ) 
 

Removes a step from this project's sequence. Completed measurements can not be removed. <p/> If isSequenceEditEnabled() is false, nothing will be done.

Parameters:
index the index of the step to be removed.
Returns:
true if the step was removed, or false if isSequenceEditEnabled() was false.
Exceptions:
IndexOutOfBoundsException if the index is out of range (index < getCompletedSteps() || index >= getSteps()).

Definition at line 1717 of file Project.java.

void ikayaki.Project.runMeasurement  )  [private]
 

Runs a measurement sequence until it is paused, aborted or there are no more steps to measure. The project must be in a non-IDLE state before starting a measurement with this method. The measurement should be run in a worker thread and only one at a time.

Exceptions:
IllegalStateException if the project's state is IDLE or it has no Squid.

Definition at line 1824 of file Project.java.

synchronized void ikayaki.Project.save  ) 
 

Invokes autosaving. This method will mark the project as modified and schedule a saving operation. After this method has not been called for a short while, the project will be written to file.

Exceptions:
IllegalStateException if this project has already been closed.

Definition at line 735 of file Project.java.

References ikayaki.Project.autosaveQueue, ikayaki.Project.autosaveRunnable, ikayaki.util.LastExecutor.execute(), ikayaki.Project.isClosed(), and ikayaki.Project.modified.

Referenced by ikayaki.MeasurementStep.save(), ikayaki.Project.setDip(), ikayaki.Project.setMass(), ikayaki.Project.setNormalization(), ikayaki.Project.setOrientation(), ikayaki.Project.setProperty(), ikayaki.Project.setSampleType(), ikayaki.Project.setStrike(), ikayaki.Project.setSusceptibility(), and ikayaki.Project.setVolume().

Here is the call graph for this function:

boolean ikayaki.Project.saveNow  ) 
 

Writes this project to its project file and waits for the operation to complete. Clears any delaying autosave operations. Will do nothing if the project file has already been saved.

Returns:
true if the file has been saved, otherwise false.
Exceptions:
IllegalStateException if this project has already been closed.

Definition at line 750 of file Project.java.

References ikayaki.Project.autosaveQueue, ikayaki.util.LastExecutor.clear(), ikayaki.Project.file, ikayaki.Project.fireProjectEvent(), ikayaki.Project.getDocument(), ikayaki.Project.getFile(), ikayaki.Project.isClosed(), ikayaki.Project.isModified(), and ikayaki.Project.modified.

Referenced by ikayaki.Project.closeProject(), and ikayaki.Project.createProject().

Here is the call graph for this function:

synchronized void ikayaki.Project.setDip double  dip  ) 
 

Sets the dip of the sample and calls updateTransforms(). The unit is degrees (0 to 180).

Definition at line 1318 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.Project.save(), and ikayaki.Project.updateTransforms().

Referenced by ikayaki.gui.ProjectInformationPanel.saveParameters().

Here is the call graph for this function:

synchronized void ikayaki.Project.setMass double  mass  ) 
 

Sets the mass of the sample. The unit is gram.

Parameters:
mass mass of the sample, or a negative number to clear it.

Definition at line 1446 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.MeasurementStep.mass, and ikayaki.Project.save().

Referenced by ikayaki.gui.ProjectInformationPanel.saveParameters().

Here is the call graph for this function:

void ikayaki.Project.setNormalization Normalization  normalization  ) 
 

Sets the normalization to be used for the measurement values.

Exceptions:
NullPointerException if normalization is null.

Definition at line 1381 of file Project.java.

References ikayaki.Project.fireProjectEvent(), and ikayaki.Project.save().

Referenced by ikayaki.gui.ProjectInformationPanel.saveParameters().

Here is the call graph for this function:

synchronized void ikayaki.Project.setOrientation Orientation  orientation  ) 
 

Sets the orientation of the sample and calls updateTransforms().

Exceptions:
NullPointerException if orientation is null.

Definition at line 1359 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.Project.save(), and ikayaki.Project.updateTransforms().

Here is the call graph for this function:

synchronized void ikayaki.Project.setProperty String  key,
String  value
 

Sets a project information property.

Parameters:
key the key which is associated with the property.
value new value for the property, or null to remove the property.

Definition at line 1286 of file Project.java.

References ikayaki.Project.properties, and ikayaki.Project.save().

Referenced by ikayaki.gui.MeasurementSequenceTableModel.saveColumn(), and ikayaki.gui.ProjectInformationPanel.saveProperties().

Here is the call graph for this function:

synchronized void ikayaki.Project.setSampleType SampleType  sampleType  ) 
 

Sets the type of the sample and calls updateTransforms().

Exceptions:
NullPointerException if sampleType is null.

Definition at line 1337 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.Project.save(), and ikayaki.Project.updateTransforms().

Referenced by ikayaki.gui.ProjectInformationPanel.saveParameters().

Here is the call graph for this function:

synchronized boolean ikayaki.Project.setSquid Squid  squid  ) 
 

Sets this project the owner of the Squid. Tries to detach the previous owner of the squid. Uses the setOwner() method of the specified Squid. <p/> Only one project may own the Squid at a time. The Squid must be first detached with "setSquid(null)" from its owner before it can be given to another project. Detaching the Squid is possible only when the project's state is IDLE.

Parameters:
squid pointer to the SQUID interface, or null to detach this project from it.
Returns:
true if the operation was completed, false if the Squid has another owner or a measurement is running (in which case nothing was changed).

Definition at line 1228 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.squid.Squid.getOwner(), ikayaki.Project.getSquid(), ikayaki.Project.getState(), ikayaki.Project.IDLE, ikayaki.squid.Squid.setOwner(), and ikayaki.Project.squid.

Referenced by ikayaki.Project.closeProject(), and ikayaki.gui.MainViewPanel.setProject().

Here is the call graph for this function:

void ikayaki.Project.setState State  state  )  [private]
 

Sets the state of this project. Fires state change events.

Parameters:
state the new state to change to.

Definition at line 1166 of file Project.java.

References ikayaki.Project.fireProjectEvent(), and ikayaki.MeasurementStep.state.

Here is the call graph for this function:

synchronized void ikayaki.Project.setStrike double  strike  ) 
 

Sets the strike of the sample and calls updateTransforms(). The unit is degrees (0 to 360).

Definition at line 1301 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.Project.save(), and ikayaki.Project.updateTransforms().

Referenced by ikayaki.gui.ProjectInformationPanel.saveParameters().

Here is the call graph for this function:

synchronized void ikayaki.Project.setSusceptibility double  susceptibility  ) 
 

Sets the susceptibility of the sample. The unit is 10^-6 SI.

Parameters:
susceptibility susceptibility of the sample, or a negative number to clear it.

Definition at line 1492 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.Project.save(), and ikayaki.MeasurementStep.susceptibility.

Referenced by ikayaki.gui.ProjectInformationPanel.saveParameters().

Here is the call graph for this function:

synchronized void ikayaki.Project.setVolume double  volume  ) 
 

Sets the volume of the sample. The unit is cm^3.

Parameters:
volume volume of the sample, or a negative number to clear it.

Definition at line 1469 of file Project.java.

References ikayaki.Project.fireProjectEvent(), ikayaki.Project.save(), and ikayaki.MeasurementStep.volume.

Referenced by ikayaki.gui.ProjectInformationPanel.saveParameters().

Here is the call graph for this function:

synchronized void ikayaki.Project.updateTransforms  )  [private]
 

Recalculates the transformation matrix and updates all measurements. This method is called automatically by the setStrike(), setDip() and setSampleType() methods.

Definition at line 1407 of file Project.java.

References ikayaki.Project.CORE, ikayaki.Project.getDip(), ikayaki.MeasurementSequence.getStep(), ikayaki.MeasurementSequence.getSteps(), ikayaki.Project.getStrike(), ikayaki.Project.HAND, ikayaki.Project.sampleType, ikayaki.Project.sequence, ikayaki.Project.transform, and ikayaki.MeasurementStep.updateTransforms().

Referenced by ikayaki.Project.Project(), ikayaki.Project.setDip(), ikayaki.Project.setOrientation(), ikayaki.Project.setSampleType(), and ikayaki.Project.setStrike().

Here is the call graph for this function:


Member Data Documentation

final String ikayaki.Project.AREA_PROPERTY = "area" [static]
 

Definition at line 77 of file Project.java.

Referenced by ikayaki.Project.exportToDAT().

final LastExecutor ikayaki.Project.autosaveQueue = new LastExecutor(500, true) [private]
 

Scheduler for automatically writing the modified project to file after a short delay.

Definition at line 196 of file Project.java.

Referenced by ikayaki.Project.save(), and ikayaki.Project.saveNow().

Runnable ikayaki.Project.autosaveRunnable [private]
 

Initial value:

 new Runnable() {
        public void run() {
            saveNow();
        }
    }
Operation that will save the project to file.

Definition at line 201 of file Project.java.

Referenced by ikayaki.Project.closeProject(), and ikayaki.Project.save().

boolean ikayaki.Project.closed = false [private]
 

Tells if this project been closed with closeProject().

Definition at line 113 of file Project.java.

Referenced by ikayaki.Project.closeProject(), and ikayaki.Project.isClosed().

final String ikayaki.Project.COMMENT_PROPERTY = "comment" [static]
 

Definition at line 79 of file Project.java.

Referenced by ikayaki.Project.exportToDAT().

MeasurementStep ikayaki.Project.currentStep = null [private]
 

Current measurement step, or null if no measurement is running.

Definition at line 181 of file Project.java.

final String ikayaki.Project.DATE_PROPERTY = "date" [static]
 

Definition at line 75 of file Project.java.

final boolean ikayaki.Project.DEBUG = false [static, private]
 

Definition at line 68 of file Project.java.

double ikayaki.Project.dip = 0.0 [private]
 

Dip of the sample. Will be used to create the transform matrix. The unit is degrees (0 to 180).

Definition at line 140 of file Project.java.

Referenced by ikayaki.Project.getDip(), ikayaki.Project.getDocument(), and ikayaki.Project.Project().

final File ikayaki.Project.file [private]
 

Location of the project file in the local file system. Autosaving will save the project to this file.

Definition at line 98 of file Project.java.

Referenced by ikayaki.Project.getFile(), ikayaki.Project.Project(), and ikayaki.Project.saveNow().

final String ikayaki.Project.LATITUDE_PROPERTY = "latitude" [static]
 

Definition at line 80 of file Project.java.

Referenced by ikayaki.Project.exportToDAT(), and ikayaki.Project.exportToTDT().

final EventListenerList ikayaki.Project.listenerList = new EventListenerList() [private]
 

Listeners for this project.

Definition at line 186 of file Project.java.

Referenced by ikayaki.Project.addProjectListener(), ikayaki.Project.fireProjectEvent(), and ikayaki.Project.removeProjectListener().

final String ikayaki.Project.LONGITUDE_PROPERTY = "longitude" [static]
 

Definition at line 81 of file Project.java.

Referenced by ikayaki.Project.exportToDAT(), and ikayaki.Project.exportToTDT().

double ikayaki.Project.mass = -1.0 [private]
 

Mass of the sample, or a negative value if no mass is defined. The unit is gram.

Definition at line 166 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getMass(), ikayaki.Project.Project(), and ikayaki.MeasurementStep.setMass().

final String ikayaki.Project.MEASUREMENT_TYPE_AUTO_VALUE = "AUTO" [static]
 

Definition at line 72 of file Project.java.

final String ikayaki.Project.MEASUREMENT_TYPE_MANUAL_VALUE = "MANUAL" [static]
 

Definition at line 73 of file Project.java.

final String ikayaki.Project.MEASUREMENT_TYPE_PROPERTY = "measurementType" [static]
 

Definition at line 71 of file Project.java.

boolean ikayaki.Project.modified = false [private]
 

true if the project has been modified, otherwise false.

Definition at line 191 of file Project.java.

Referenced by ikayaki.Project.isModified(), ikayaki.Project.Project(), ikayaki.Project.save(), and ikayaki.Project.saveNow().

Normalization ikayaki.Project.normalization = VOLUME [private]
 

The type of normalization to use.

Definition at line 155 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getNormalization(), and ikayaki.Project.Project().

final String ikayaki.Project.OPERATOR_PROPERTY = "operator" [static]
 

Definition at line 74 of file Project.java.

Orientation ikayaki.Project.orientation = MINUS_Z [private]
 

Orientation of the sample. Will be used to create the transform matrix.

Definition at line 150 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getOrientation(), and ikayaki.Project.Project().

final Hashtable<File, Project> ikayaki.Project.projectCache = new Hashtable<File, Project>() [static, private]
 

Caches the created and loaded Project objects to make sure that no more than one object will be created for each physical file.

Definition at line 87 of file Project.java.

Referenced by ikayaki.Project.closeProject(), ikayaki.Project.createProject(), ikayaki.Project.getCachedProjects(), and ikayaki.Project.loadProject().

final Hashtable<File, Object> ikayaki.Project.projectTypeCache = new Hashtable<File, Object>() [static, private]
 

Caches the types of the project files, as read by getType(Project). The value is a Type for valid project files, or an Object for invalid or unknown files.

Definition at line 93 of file Project.java.

Referenced by ikayaki.Project.createProject(), ikayaki.Project.getType(), and ikayaki.Project.loadProject().

final Properties ikayaki.Project.properties = new Properties() [private]
 

Custom properties of this project stored in a map. The project is not interested in what properties are stored; it only saves them.

Definition at line 124 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getProperty(), ikayaki.Project.Project(), and ikayaki.Project.setProperty().

final String ikayaki.Project.ROCK_TYPE_PROPERTY = "rockType" [static]
 

Definition at line 76 of file Project.java.

Referenced by ikayaki.Project.exportToDAT().

SampleType ikayaki.Project.sampleType = HAND [private]
 

Type of the sample. Will be used to create the transform matrix.

Definition at line 145 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getSampleType(), ikayaki.Project.Project(), and ikayaki.Project.updateTransforms().

MeasurementSequence ikayaki.Project.sequence = new MeasurementSequence() [private]
 

Measurement sequence of this project. In the beginning are all completed measurement steps, and in the end are planned measurement steps. Completed measurements may NOT be deleted.

Definition at line 130 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getTimestamp(), ikayaki.Project.Project(), and ikayaki.Project.updateTransforms().

final String ikayaki.Project.SITE_PROPERTY = "site" [static]
 

Definition at line 78 of file Project.java.

Referenced by ikayaki.Project.exportToDAT().

Squid ikayaki.Project.squid = null [private]
 

Pointer to the SQUID device interface, or null if this project is not its owner.

Definition at line 118 of file Project.java.

Referenced by ikayaki.Project.getSquid(), and ikayaki.Project.setSquid().

State ikayaki.Project.state = IDLE [private]
 

Current state of the measurements. If no measurement is running, then state is IDLE. Only one measurement may be running at a time.

Definition at line 108 of file Project.java.

Referenced by ikayaki.Project.getState().

double ikayaki.Project.strike = 0.0 [private]
 

Strike of the sample. Will be used to create the transform matrix. The unit is degrees (0 to 360).

Definition at line 135 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getStrike(), and ikayaki.Project.Project().

double ikayaki.Project.susceptibility = -1.0 [private]
 

Susceptibility of the sample, or a negative value if no susceptibility is defined. The unit is 10^-6 SI.

Definition at line 176 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getSusceptibility(), ikayaki.Project.Project(), and ikayaki.MeasurementStep.setSusceptibility().

Matrix3d ikayaki.Project.transform = new Matrix3d() [private]
 

Matrix for correcting the sample's orientation. The matrix will be updated whenever the strike, dip, sampleType or orientation is changed. After that the updated matrix will be applied to all measurements.

Definition at line 161 of file Project.java.

Referenced by ikayaki.Project.getTransform(), and ikayaki.Project.updateTransforms().

final Type ikayaki.Project.type [private]
 

Type of the measurement project. This will affect which features of the project are enabled and disabled.

Definition at line 102 of file Project.java.

Referenced by ikayaki.Project.fireProjectEvent(), ikayaki.Project.getDocument(), ikayaki.Project.getType(), ikayaki.Project.Project(), and ikayaki.ProjectEvent.ProjectEvent().

double ikayaki.Project.volume = -1.0 [private]
 

Volume of the sample, or a negative value if no volume is defined. The unit is cm^3.

Definition at line 171 of file Project.java.

Referenced by ikayaki.Project.getDocument(), ikayaki.Project.getVolume(), ikayaki.Project.Project(), and ikayaki.MeasurementStep.setVolume().


The documentation for this class was generated from the following file:
Generated on Fri May 6 16:00:48 2005 for Squid by  doxygen 1.4.1