public class Main extends java.lang.Object implements DriverInterface, ComponentChangeListener
Modifier and Type | Class and Description |
---|---|
static class |
Main.ManipulatorFrameSpec
Describes different ways to determine the frame for a manipulator.
|
static class |
Main.SelectionMode |
Constructor and Description |
---|
Main() |
Main(java.lang.String windowName,
int width,
int height,
GLViewer.GLVersion glVersion)
Creates the new window frame
|
Modifier and Type | Method and Description |
---|---|
WayPoint |
addBreakPoint(double t) |
void |
addDemoName(java.lang.String alias,
java.lang.String className) |
void |
addSelected(java.util.LinkedList<ModelComponent> items) |
void |
addSelectionListener(SelectionListener l)
add the selection listener
|
WayPoint |
addWayPoint(double t) |
void |
arrangeControlPanels(RootModel root) |
void |
clearRootModel() |
void |
clearWayPoints() |
boolean |
closeMatlabConnection() |
void |
componentChanged(ComponentChangeEvent e) |
GLViewerFrame |
createViewerFrame() |
void |
createWorkspace() |
void |
delay(double sec) |
void |
deregisterWindow(PropertyWindow w) |
void |
dispose() |
static void |
exit(int code)
Have our own exit method so that if we're running under matlab, we don't
actually exit.
|
boolean |
forward() |
java.util.ArrayList<MouseBindings> |
getAllMouseBindings() |
boolean |
getArticulatedTransformsEnabled() |
java.lang.String |
getDemoClassName(java.lang.String classNameOrAlias) |
java.lang.String[] |
getDemoNames() |
AliasTable |
getDemoTable() |
EditorManager |
getEditorManager()
Get the EditorManager
|
java.lang.String |
getErrorMessage() |
int |
getFlags() |
javax.swing.JFrame |
getFrame() |
double |
getFrameRate() |
GLViewer.GLVersion |
getGLVersion() |
boolean |
getInitDraggersInWorldCoords() |
double[][] |
getInputProbeData(java.lang.String nameOrNumber)
Gets the data associated with a numeric input probe and returns it as a
2-dimensional array of doubles.
|
InverseManager |
getInverseManager() |
ArtisynthJythonConsole |
getJythonConsole() |
java.lang.String |
getKeyBindings()
get the key bindings from a file
|
Logger |
getLogger()
Returns a logger to be used by this main application.
|
Logger.LogLevel |
getLogLevel() |
static Main |
getMain() |
MainFrame |
getMainFrame() |
MatlabInterface |
getMatlabConnection() |
double |
getMaxStep() |
java.io.File |
getModelDirectory() |
java.io.File |
getModelFile() |
ModelHistory |
getModelHistory() |
java.lang.String |
getModelName()
Returns the current model name.
|
java.lang.String |
getModelSaveFormat() |
MouseBindings |
getMouseBindings() |
double |
getMouseWheelZoomScale() |
MovieMaker |
getMovieMaker() |
double[][] |
getOutputProbeData(java.lang.String nameOrNumber)
Gets the data associated with a numeric output probe and returns it as a
2-dimensional array of doubles.
|
java.io.File |
getProbeDirectory() |
java.io.File |
getProbesFile()
get the file with probes
|
java.util.LinkedList<PropertyWindow> |
getPropertyWindows()
For diagnostic purposes.
|
RootModel |
getRootModel() |
Scheduler |
getScheduler()
Get the Scheduler
|
java.lang.String |
getScriptName(java.lang.String alias) |
java.lang.String[] |
getScriptNames() |
SelectionManager |
getSelectionManager() |
Main.SelectionMode |
getSelectionMode() |
java.lang.Exception |
getSimulationException() |
double |
getTime() |
Timeline |
getTimeline()
get the timeline controller
|
UndoManager |
getUndoManager() |
boolean |
getUndoTransformsWithInverse() |
Vector3d |
getVector() |
GLViewer |
getViewer() |
ViewerManager |
getViewerManager() |
java.awt.Dimension |
getViewerSize() |
WayPoint |
getWayPoint(double t) |
Workspace |
getWorkspace()
get the root model, static method for the entire program to reference to,
so do not pass root model around, because its stored in main and could be
accessed using this method
|
boolean |
hasMatlabConnection() |
void |
initializeViewer(GLViewer viewer,
AxisAngle REW) |
boolean |
isDisposed() |
static boolean |
isRunningUnderMatlab() |
boolean |
isSimulating() |
boolean |
loadModel(ModelInfo info) |
boolean |
loadModel(java.lang.String className,
java.lang.String modelName,
java.lang.String[] modelArgs) |
boolean |
loadModelFile(java.io.File file) |
boolean |
loadProbesFile(java.io.File file)
load the probes into the model
|
static void |
main(java.lang.String[] args)
the main entry point
|
void |
maskFocusStealing(boolean enable)
Attempts to prevent artisynth form stealing focus when it
pops up windows, etc, especially while running a script.
|
MatlabInterface |
openMatlabConnection() |
void |
pause() |
void |
play() |
void |
play(double time) |
void |
printAllThreads() |
void |
quit() |
void |
registerWindow(PropertyWindow w)
Register a property window with the main program.
|
void |
reloadModel() |
void |
removeDemoClass(java.lang.String className) |
void |
removeDemoName(java.lang.String alias) |
void |
removeSelected(java.util.LinkedList<ModelComponent> items) |
void |
removeSelectionListener(SelectionListener l)
remove the selection listener
|
boolean |
removeWayPoint(double t) |
boolean |
removeWayPoint(WayPoint way) |
void |
rerender()
rerender all viewers and update all widgets
|
void |
reset() |
void |
resetDraggerFrame(Main.ManipulatorFrameSpec mode) |
void |
rewidgetUpdate()
update all widgets
|
boolean |
rewind() |
void |
saveModelFile(java.io.File file) |
void |
saveModelFile(java.io.File file,
java.lang.String fmtStr) |
boolean |
saveProbesFile(java.io.File file)
to save the probes file
|
void |
screenShot(java.lang.String filename) |
void |
setArticulatedTransformsEnabled(boolean enable) |
void |
setErrorMessage(java.lang.String msg) |
void |
setFlags(int flags) |
void |
setFrameRate(double val) |
void |
setInitDraggersInWorldCoords(boolean enable) |
boolean |
setInputProbeData(java.lang.String nameOrNumber,
double[][] data)
Sets the data associated with a numeric input probe.
|
void |
setLogger(Logger logger)
Sets an application-specific logger
|
void |
setLogLevel(Logger.LogLevel level)
Sets the current log level for this application.
|
static void |
setMain(Main main)
For internal use only; be careful!!
|
void |
setMaxStep(double sec) |
void |
setModelDirectory(java.io.File dir) |
void |
setModelSaveFormat(java.lang.String fmtStr) |
void |
setMouseBindings(MouseBindings bindings) |
void |
setMouseBindings(java.lang.String bindingsName)
set the mouse bindings
|
void |
setMouseWheelZoomScale(double scale) |
boolean |
setOutputProbeData(java.lang.String nameOrNumber,
double[][] data)
Sets the data associated with a numeric output probe.
|
void |
setProbeDirectory(java.io.File dir) |
void |
setRootModel(RootModel newRoot,
java.lang.String modelName,
java.lang.String[] modelArgs) |
static void |
setRunningUnderMatlab(boolean underMatlab) |
void |
setSelectionMode(Main.SelectionMode selectionMode)
Set the current selection mode.
|
void |
setTimelineVisible(boolean visible)
to set the timeline visible or not
|
void |
setUndoTransformsWithInverse(boolean enable) |
void |
setVector(Vector3d v) |
void |
setViewerSize(java.awt.Dimension size) |
void |
setViewerSize(int w,
int h) |
void |
start(boolean startWithTimeline,
boolean timeLineAllignedRight,
boolean loadLargeTimeline) |
void |
step() |
void |
updateDragger()
Called to update the current dragger position.
|
void |
waitForStop() |
public Main()
public Main(java.lang.String windowName, int width, int height, GLViewer.GLVersion glVersion)
windowName
- name of windowwidth
- width in pixelsheight
- height in pixelspublic Vector3d getVector()
public void setVector(Vector3d v)
public static void setRunningUnderMatlab(boolean underMatlab)
public static boolean isRunningUnderMatlab()
public void setUndoTransformsWithInverse(boolean enable)
public boolean getUndoTransformsWithInverse()
public SelectionManager getSelectionManager()
public java.lang.String getKeyBindings()
public void setErrorMessage(java.lang.String msg)
public java.lang.String getErrorMessage()
public GLViewer getViewer()
getViewer
in interface DriverInterface
public MainFrame getMainFrame()
public javax.swing.JFrame getFrame()
getFrame
in interface DriverInterface
public java.lang.String[] getDemoNames()
public java.lang.String getDemoClassName(java.lang.String classNameOrAlias)
public java.lang.String[] getScriptNames()
public java.lang.String getScriptName(java.lang.String alias)
public GLViewer.GLVersion getGLVersion()
public java.lang.String getModelName()
public ModelHistory getModelHistory()
public void addDemoName(java.lang.String alias, java.lang.String className)
public void removeDemoName(java.lang.String alias)
public void removeDemoClass(java.lang.String className)
public AliasTable getDemoTable()
public void setViewerSize(int w, int h)
public void setViewerSize(java.awt.Dimension size)
public java.awt.Dimension getViewerSize()
public Logger getLogger()
public void setLogger(Logger logger)
logger
- logger to use in this main applicationpublic Logger.LogLevel getLogLevel()
public void setLogLevel(Logger.LogLevel level)
setLogger(Logger)
, then the system logger is
cloned and assigned in order to set the log level.level
- log levelpublic void setTimelineVisible(boolean visible)
visible
- -
boolean set the timeline visiblepublic void setFrameRate(double val)
public double getFrameRate()
public GLViewerFrame createViewerFrame()
public ArtisynthJythonConsole getJythonConsole()
public boolean isSimulating()
public void reset()
public boolean rewind()
public void play()
public void play(double time)
public void pause()
public void waitForStop()
public java.lang.Exception getSimulationException()
public void step()
public boolean forward()
public double getTime()
public WayPoint addWayPoint(double t)
public WayPoint addBreakPoint(double t)
public WayPoint getWayPoint(double t)
public void setMaxStep(double sec)
public double getMaxStep()
public boolean removeWayPoint(WayPoint way)
public boolean removeWayPoint(double t)
public void clearWayPoints()
public void delay(double sec)
public void start(boolean startWithTimeline, boolean timeLineAllignedRight, boolean loadLargeTimeline)
public RootModel getRootModel()
public void clearRootModel()
public double[][] getInputProbeData(java.lang.String nameOrNumber)
This is primarily intended as a convenience method for extracting probe data into other applications (such as Matlab).
nameOrNumber
- name or number of the probe in questionnull
if the probe is not
foundpublic boolean setInputProbeData(java.lang.String nameOrNumber, double[][] data)
This is primarily intended as a convenience method for setting probe data from other applications (such as Matlab).
nameOrNumber
- name or number of the probe in questiondata
- new data to set inside the probefalse
if the probe is not foundpublic double[][] getOutputProbeData(java.lang.String nameOrNumber)
This is primarily intended as a convenience method for extracting probe data into other applications (such as Matlab).
nameOrNumber
- name or number of the probe in questionnull
if the probe is not
foundpublic boolean setOutputProbeData(java.lang.String nameOrNumber, double[][] data)
This is primarily intended as a convenience method for setting probe data from other applications (such as Matlab).
nameOrNumber
- name or number of the probe in questiondata
- new data to set inside the probefalse
if the probe is not foundpublic void setRootModel(RootModel newRoot, java.lang.String modelName, java.lang.String[] modelArgs)
public boolean loadModel(ModelInfo info)
public boolean loadModel(java.lang.String className, java.lang.String modelName, java.lang.String[] modelArgs)
public ViewerManager getViewerManager()
getViewerManager
in interface DriverInterface
public java.util.ArrayList<MouseBindings> getAllMouseBindings()
public void setMouseBindings(java.lang.String bindingsName)
bindingsName
- name of the preferred mouse bindingspublic void setMouseBindings(MouseBindings bindings)
public MouseBindings getMouseBindings()
public double getMouseWheelZoomScale()
public void setMouseWheelZoomScale(double scale)
public void rerender()
public void rewidgetUpdate()
public static void main(java.lang.String[] args)
args
- command line argumentspublic Workspace getWorkspace()
public void createWorkspace()
public static Main getMain()
public static void setMain(Main main)
public int getFlags()
public void setFlags(int flags)
public Scheduler getScheduler()
public EditorManager getEditorManager()
public UndoManager getUndoManager()
public InverseManager getInverseManager()
public Timeline getTimeline()
public java.io.File getModelFile()
public boolean loadModelFile(java.io.File file) throws java.io.IOException
java.io.IOException
public void reloadModel() throws java.io.IOException
java.io.IOException
public java.lang.String getModelSaveFormat()
public void setModelSaveFormat(java.lang.String fmtStr)
public void saveModelFile(java.io.File file) throws java.io.IOException
java.io.IOException
public void saveModelFile(java.io.File file, java.lang.String fmtStr) throws java.io.IOException
java.io.IOException
public java.io.File getProbesFile()
public boolean loadProbesFile(java.io.File file) throws java.io.IOException
file
- file containing probe informationjava.io.IOException
- if an I/O or syntax error occurredpublic void dispose()
public boolean isDisposed()
public void quit()
public boolean saveProbesFile(java.io.File file) throws java.io.IOException
file
- probe information filejava.io.IOException
- if an I/O error occurredpublic void addSelectionListener(SelectionListener l)
addSelectionListener
in interface DriverInterface
public void removeSelectionListener(SelectionListener l)
removeSelectionListener
in interface DriverInterface
public void addSelected(java.util.LinkedList<ModelComponent> items)
public void removeSelected(java.util.LinkedList<ModelComponent> items)
public void componentChanged(ComponentChangeEvent e)
componentChanged
in interface ComponentChangeListener
public boolean getInitDraggersInWorldCoords()
public void setInitDraggersInWorldCoords(boolean enable)
public boolean getArticulatedTransformsEnabled()
public void setArticulatedTransformsEnabled(boolean enable)
public Main.SelectionMode getSelectionMode()
public void setSelectionMode(Main.SelectionMode selectionMode)
selectionMode
- selection modepublic void updateDragger()
public void resetDraggerFrame(Main.ManipulatorFrameSpec mode)
public void registerWindow(PropertyWindow w)
If the window is a render props dialog, handlers will be added to ensure that viewer selection coloring is disabled while the dialog is open.
registerWindow
in interface DriverInterface
public void deregisterWindow(PropertyWindow w)
deregisterWindow
in interface DriverInterface
public java.util.LinkedList<PropertyWindow> getPropertyWindows()
public MovieMaker getMovieMaker()
public void setModelDirectory(java.io.File dir)
public java.io.File getModelDirectory()
public void setProbeDirectory(java.io.File dir)
public java.io.File getProbeDirectory()
public void arrangeControlPanels(RootModel root)
public void screenShot(java.lang.String filename)
public void maskFocusStealing(boolean enable)
public static void exit(int code)
public boolean closeMatlabConnection()
public MatlabInterface openMatlabConnection()
public MatlabInterface getMatlabConnection()
public boolean hasMatlabConnection()
public void printAllThreads()