addPoint needs to be given an x y and z coordinate in world coordinates
and it will be added to the sphere If either x or y or z is NaN it will
not plot a point.
getAxisOfRotation will return the axis of rotation in the spherical
sense if given two vectors which were created as going from the center
of the sphere to an outside point.
getFileInformation will return the correct information that needs to be
written to the file that information is: the label of the axis point, a
space, the label of the reference point, a space, and finally the angle
this point is rotated at.
getIntersectionSphereScaleVal will return a scale value which
can be used in the getPointFromLine function to get
the intersection points of this line with a given SphereModel
getLineFromCirc this function should create a line which lies on the
plane formed by the object implementing this class and it should use this
axis of rotation to create the line by rotating the center point of the
circle.
getPointFromLine will return a point off this line based on a scaling
where 0 would get you the point used to place the line and - or +
values will move you left or right based on the direction
vector.
InformationModel is a model of all the information that the user would like
to see about our program It takes InformationNuggets and stores them
appropriatly.
This function is ONLY for use with getIntersectionPoints because it
assumes the points passed in lies on the great circle formed by the line
in question.
MouseHandler handles mouse clicks by determining the appropriate
action to take depending on how it is set It is really only meant to
interact with a SphereWorld
PanelButton constructor the name parameter should be a unique label for
this panel button later on the name + "_TT" will be used to construct the
tooltip for this button so the data file must have whatever the string
for name is + _TT or there will be no tooltip for this button.
PointLabelHelper was designed to return unique names for points that will
be placed on the sphere It is a singleton because we only want one point
namer per instance of the programming running this way we know their won't
be any overlap.
removeObject will remove a given SphereBasicObject from the model if it
exists otherwise it won't do anything all children of the object will
also be removed.
setIntersection will set this point to be part of the
SphereLineIntrModel provided this function is DANGEROUS because if you
set the point to the wrong intersection model removal of points will
break.
This function should be used to make the PointLabelHelper start labeling
at a new point It was primarily designed so that when a file is read
in we can set the new place to start labeling
SphereFileWriter will write a files with points, lines, and information
panel dialogs
Anything in () is the type for the data being writen
Anything in [] means optional
Anything in '' means print what is inside: ''
TYPES:
int - a Java 'int' type
float - a Java 'float' type
PT_LBL - Label of the current point.
SphereGlobalConsts is just a listing of all global constants that don't need
to be in a data file because there is no way we would want them changed at
run time
This is the main constructor for the SphereLineIntrModel and should be
used for everything except when a sphere is being read in from a file
where it is impossible to use this constructor
The SphereParaLineModel class is used when dealing with parallel transported
lines arguably the creation of this class was not absolutley necessary, but
it gives us way to indentify a parallel transported line for a normal line
and also allows us to have access to the general parallel transport model.
This SphereParaPointModel constructor should only be used when reading
them in from a file that is because this ctor does not properly
initialize the SphereParaPointModel on its own you must call the
setTransMod function sometime after you initalize the
SphereParaPointModel to complete the initialization process.
SphereParaTransModel controls how a parallel transported line in
Spheriosity will act.it observes all the necessary components to ensure
that everything acts as you would expect the SphereParaTransModel is not
actually a representation of the parallel transported line.
SpherePointCircModel represents a point that is part of a SphereCircleModel
this point will stay with the SphereCircleModel as it is moved around the
sphere
SpherePointCircModel constructor for reading in SpherePointCircModels
from datafiles This constructor should only be used when reading in from
files because it does not completely initalize the SpherePointCircModel.
The SpherePointIntrModel class is internally used by the
SphereLineIntersectionModel because these points should only be moved under
certain circumstances.