Package chemaxon.marvin.space.monitor
Class PositionMonitor
java.lang.Object
chemaxon.marvin.space.GraphicComponent
chemaxon.marvin.space.monitor.Monitor
chemaxon.marvin.space.monitor.PositionMonitor
- All Implemented Interfaces:
chemaxon.marvin.space.UsableObject
Monitors a specific location in the space and has a control that can
change the coordinates of the monitored elements with a transformation.
The specific location is the center of the transformation.
- Since:
- Marvin 4.0.2
-
Field Summary
FieldsFields inherited from class chemaxon.marvin.space.monitor.Monitor
control, mode, selectedItemCoordinates, selectedItems, selectionPointer
Fields inherited from class chemaxon.marvin.space.GraphicComponent
active, associatedComponents, boundingBox, color, COMPONENT_TYPE_ENTIRE, drawProperties, drawType, gl, glu, graphicCell, irm, modifiesOrigin, motionMode, mousex, mousey, name, pickedItem, RENDERING_QUALITY_HIGH, RENDERING_QUALITY_LOW, RENDERING_QUALITY_MEDIUM, renderingQuality, rm, uoid, visible
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
control
(int z) Causes the monitor's controll to take action with 1 parameter.void
control
(int x, int y) Causes the monitor's controll to take action with 2 parameters.void
draw()
Draws nothing.void
Draws the Control of the PositionMonitor.Returns the GraphicComponent of the only selected item.Returns the control of this monitor.void
getCoordinates
(float[] c) Returns the coordinates of the selected item.void
getCoordinates
(ComponentElement item, float[] c) Returns the coordinates of the selected item.int
Returns the monitor's position.boolean
Returns true, because the Control is always drawn in plane.boolean
isVisible
(ComponentElement item) Returns true, because a PositionMonitor cannot be hidden.double
locateObject
(int x, int y) Pickes the control in x, y position.int
Returns 1, because this is the maximun number of selected elements.void
refresh()
The monitor refreshes its coordinates from the selected item's coordinates.void
selectItem
(ComponentElement item) Parameter item will be the selected item of the monitor.void
The given component will be the selected item of the monitor.void
setControl
(Control control) Sets the control of the monitor, and the center of the control to the center of the monitor.void
setPosition
(float[] position) Sets the monitor's positionvoid
setPosition
(float x, float y, float z) Sets the monitor's positionMethods inherited from class chemaxon.marvin.space.monitor.Monitor
clear, getSelectedElements, hasControl, hasInvisibleItem, hasTransparentPart, isFull, isVisible, onRemoveGraphicComponent, pickedIndicator, receiveNotificationOnCoordinateChange, receiveNotificationOnInvisibility, receiveNotificationOnVisibility, refersTo, unSelect
Methods inherited from class chemaxon.marvin.space.GraphicComponent
addDrawProperties, associate, cleanup, drawBoundingBox, drawCoordinateAxes, drawSelection, drawTransparentPart, exclusiveSelection, exclusiveSelection, extendSelection, extendSelection, fadeSelected, fadeUnselected, getAssociatedComponents, getBoundingBox, getBoundingSphereRadius, getCell, getColor, getComponentElement, getDescription, getDescription, getDrawProperties, getDrawProperty, getGraphicComponent, getId, getLabelInformation, getLabelInformation, getName, getRenderingQuality, getUsableObject, getZCoordinateTo2DPart, glColor, hasSelectedElements, hideSelected, hideUnselected, invertSelection, invertSelection, isControllable, isGraphicComponent, isSelected, isSelected, notifyCoordinateChange, notifyInvisibility, notifySelection, notifyUnSelection, notifyVisibility, pickObject, projectVector, receiveNotificationOnSelection, receiveNotificationOnUnSelection, removeAssociation, resize, rotate, rotate, rotate, select, select, selectComponentElementsInside, setColor, setColor, setColor, setColor, setDrawProperties, setDrawProperty, setGL, setMotionMode, setName, setProgressBar, setRenderingQuality, setRotateMatrix, setVisible, showFaded, storeDrawProperty, toString, touchObject, translate, unSelect
-
Field Details
-
position
protected float[] position
-
-
Constructor Details
-
PositionMonitor
public PositionMonitor()Creates a new instance of PositionMonitor
-
-
Method Details
-
selectItem
Parameter item will be the selected item of the monitor. A PositionMonitor can have only one selected item. Also sets the monitor's position to the coordinates of the item.- Overrides:
selectItem
in classMonitor
-
selectItem
The given component will be the selected item of the monitor. A PositionMonitor can have only one selected item. Also sets the monitor's position to the coordinates of the component. -
getComponent
Returns the GraphicComponent of the only selected item. -
refresh
public void refresh()The monitor refreshes its coordinates from the selected item's coordinates. -
getCoordinates
public void getCoordinates(float[] c) Returns the coordinates of the selected item.- Overrides:
getCoordinates
in classGraphicComponent
- Parameters:
c
- allocated array where coordinates will be put
-
getCoordinates
Returns the coordinates of the selected item.- Overrides:
getCoordinates
in classGraphicComponent
- Parameters:
item
- specific part of the componentc
- allocated array where coordinates will be put
-
maximumItemCount
public int maximumItemCount()Returns 1, because this is the maximun number of selected elements.- Specified by:
maximumItemCount
in classMonitor
-
getPosition
public int getPosition()Returns the monitor's position. It is the same as the coordinates of its selected item. -
setPosition
public void setPosition(float x, float y, float z) Sets the monitor's position -
setPosition
public void setPosition(float[] position) Sets the monitor's position -
isVisible
Returns true, because a PositionMonitor cannot be hidden. (just destroyed)- Overrides:
isVisible
in classGraphicComponent
- Parameters:
item
- part of the component- Returns:
- visibility of the part of the component
-
draw
public void draw()Draws nothing.- Overrides:
draw
in classGraphicComponent
-
draw2DPart
public void draw2DPart()Draws the Control of the PositionMonitor.- Overrides:
draw2DPart
in classGraphicComponent
-
has2DPart
public boolean has2DPart()Returns true, because the Control is always drawn in plane.- Overrides:
has2DPart
in classGraphicComponent
- Returns:
- will the component draw in plane
-
getControl
Returns the control of this monitor. It can be an instance of Global/Local Orientation/Location Controls. -
setControl
Sets the control of the monitor, and the center of the control to the center of the monitor. -
control
public void control(int x, int y) Causes the monitor's controll to take action with 2 parameters. Parameters indicate mouse motion in x, y directions. -
control
public void control(int z) Causes the monitor's controll to take action with 1 parameter. Parameter indicates mouse motion in one (x or y) direction. -
locateObject
public double locateObject(int x, int y) Pickes the control in x, y position.- Overrides:
locateObject
in classGraphicComponent
- Parameters:
x
- window coordinate of the mousey
- window coordinate of the mouse- Returns:
- z coordinate of the nearest picked object
-