Class CenterOfMass
java.lang.Object
org.opensourcephysics.display.OSPRuntime.Supported
org.opensourcephysics.cabrillo.tracker.TTrack
org.opensourcephysics.cabrillo.tracker.PointMass
org.opensourcephysics.cabrillo.tracker.CenterOfMass
- All Implemented Interfaces:
PropertyChangeListener,EventListener,Drawable,Interactive,Measurable,Trackable
A CenterOfMass tracks the position, velocity and acceleration of the center
of mass of a set of point mass objects.
- Author:
- Douglas Brown
-
Nested Class Summary
Nested classes/interfaces inherited from class org.opensourcephysics.cabrillo.tracker.PointMass
PointMass.FrameDataNested classes/interfaces inherited from class org.opensourcephysics.cabrillo.tracker.TTrack
TTrack.NameDialog, TTrack.StepArray, TTrack.TextLineLabel, TTrack.TrackDecimalField, TTrack.TrackNumberField -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CenterOfMassInspectorprotected JMenuItemprotected PointMass[]Fields inherited from class org.opensourcephysics.cabrillo.tracker.PointMass
aAtOrigin, accelerationMenu, aColorItem, aDeriv, aDerivSpill, aFootprint, aFootprintMenu, aFootprints, algorithm, allVariables, aTailsToOriginItem, aTailsToPositionItem, autotrackItem, aVisibleItem, aVisibleOnAll, BOUNCE_DETECT, bounceDerivs, bounceDerivsSpill, dataVariables, derivData, drawsTrace, fieldVariables, FINITE_DIFF, FINITE_DIFF_VSPILL2, footprintNames, formatDescriptionMap, formatMap, formatVariables, isAutofill, isAutoKeyDown, labelsVisible, loading, mass, massField, massLabel, MINIMUM_MASS, mSeparator, params, showfilledSteps, skippedSteps, trace, traceStroke, traceVisible, validData, vAtOrigin, vColorItem, vDeriv, vDerivSpill, vectorFields, velocityMenu, vFootprint, vFootprintMenu, vFootprints, vTailsToOriginItem, vTailsToPositionItem, vVisibleItem, vVisibleOnAll, xData, xVisibleOnAll, yDataFields inherited from class org.opensourcephysics.cabrillo.tracker.TTrack
angleField, angleLabel, angleSeparator, attachmentNames, attachments, autoAdvance, autoAdvanceItem, autoTrackerMarking, circleFootprintListener, clearStepsItem, closeButton, colorItem, constantsLoadedFromXML, customNumberFormats, dataBuilderItem, dataDescriptions, dataFrames, dataProp, datasetManager, dataValid, defaultColors, defaultFootprint, deleteStepItem, deleteTrackItem, description, descriptionItem, enabled, fieldBorder, fixedItem, footprint, footprintListener, footprintMenu, footprints, formatAngleMouseListener, formatMouseListener, hint, HINT_STEP_ADDED_OR_REMOVED, HINT_STEPS_SELECTED, initialized, isMarking, keyFrames, labelFont, locked, lockedItem, magField, magLabel, magSeparator, markByDefault, markByDefaultItem, name, nameDialog, nameItem, nextID, NOMAP, NOMAPS, NOVARA, NOVARS, numberFields, partName, points, positionFields, preferredColumnOrder, properties, PROPERTY_TTRACK_COLOR, PROPERTY_TTRACK_DATA, PROPERTY_TTRACK_FOOTPRINT, PROPERTY_TTRACK_FORMAT, PROPERTY_TTRACK_LOCKED, PROPERTY_TTRACK_MASS, PROPERTY_TTRACK_MODELEND, PROPERTY_TTRACK_MODELSTART, PROPERTY_TTRACK_NAME, PROPERTY_TTRACK_STEP, PROPERTY_TTRACK_STEPS, PROPERTY_TTRACK_TEXTCOLUMN, PROPERTY_TTRACK_VISIBLE, refreshDataLater, skippedStepWarningCheckbox, skippedStepWarningDialog, skippedStepWarningOn, skippedStepWarningTextpane, stepLabel, steps, stepSeparator, stepSizeWhenFirstMarked, stepValueLabel, targetIndex, textColumnEntries, textColumnNames, tField, tframe, tLabel, toolbarPointComponents, toolbarTrackComponents, tp, trailLength, trailVisible, trailVisibleItem, tSeparator, ttype, tValueLabel, TYPE_CALIBRATION, TYPE_CIRCLEFITTER, TYPE_COORDAXES, TYPE_LINEPROFILE, TYPE_OFFSETORIGIN, TYPE_PERSPECTIVE, TYPE_POINTMASS, TYPE_PROTRACTOR, TYPE_RGBREGION, TYPE_TAPEMEASURE, TYPE_UNKNOWN, TYPE_VECTOR, viewable, visible, visibleItem, xField, xLabel, xSeparator, xSpinner, yField, yLabel, ySeparator, ySpinnerFields inherited from interface org.opensourcephysics.media.core.Trackable
PROPERTY_ADJUSTING -
Constructor Summary
ConstructorsConstructorDescriptionConstructs an empty CenterOfMass.CenterOfMass(PointMass[] masses) Constructs a CenterOfMass with specified masses. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds a mass to the cm system.booleanDetermines if the specified point mass is in this center of mass.voiddispose()Cleans up associated resources when this track is deleted or cleared.voiddraw(DrawingPanel panel, Graphics _g) Overrides PointMass draw method.findInteractive(DrawingPanel panel, int xpix, int ypix) Overrides PointMass findInteractive method.Gets the center of mass inspector.static XML.ObjectLoaderReturns an ObjectLoader to save and load data for this class.Gets the array of masses in this cm.getMenu(TrackerPanel trackerPanel, JMenu menu0) Returns a menu with items that control this track.getToolbarPointComponents(TrackerPanel trackerPanel, TPoint point) Overrides TTrack getToolbarPointComponents method.getToolbarTrackComponents(TrackerPanel trackerPanel) Overrides TTrack getToolbarTrackComponents method.voidinitialize(TrackerPanel panel) Finish up any unfinished loading business that for whatever reason was not finished upon loading a track.protected booleanDetermines if any point in this track is autotrackable.booleanOverrides TTrack isDependent method to return true.booleanisStepComplete(int n) Overrides TTrack isStepComplete method.voidResponds to property change events.voidRemoves a mass from the cm system.voidsetFontLevel(int level) Sets the font level.voidsetLocked(boolean locked) Overrides TTrack setLocked method.voidsetMass(double mass) Overrides PointMass setMass method.voidsetTrackerPanel(TrackerPanel panel) Adds events for TrackerPanel.toString()Overrides PointMass toString method.Methods inherited from class org.opensourcephysics.cabrillo.tracker.PointMass
autoMarkAt, createGUI, createMenuIfNecessary, createStep, deleteAutoTrackerStep, deleteStep, erase, erase, getAArray, getAcceleration, getAccelerationFootprint, getAccelerationFootprints, getAccelerations, getBaseType, getFootprint, getFootprintLength, getFootprints, getFormatDescMap, getFormatMap, getFormatVariables, getMass, getNextVisibleStep, getNumberFields, getNumberFieldsForStep, getPreviousVisibleStep, getRotationData, getRotationData, getStep, getStepLength, getTargetDescription, getUnfilledGapCount, getVarDimsImpl, getVArray, getVelocities, getVelocity, getVelocityFootprint, getVelocityFootprints, getWorldAcceleration, getWorldPosition, getWorldVelocity, hasGaps, isAcceleration, isAutofill, isAVisible, isLabelsVisible, isPosition, isPositionVisible, isStepVisible, isTraceVisible, isVelocity, isVVisible, markAllInterpolatedSteps, markInterpolatedSteps, markInterpolatedSteps, refreshData, remark, remark, setAccelerationColor, setAccelerationFootprint, setAccelerationFootprints, setAlgorithm, setAnglesInRadians, setAutoFill, setAVisible, setAVisibleOnAll, setColor, setFootprint, setLabelsVisible, setMarking, setPositionVisible, setPositionVisibleOnAll, setTraceVisible, setVelocityColor, setVelocityFootprint, setVelocityFootprints, setVisible, setVVisible, setVVisibleOnAll, updateDerivatives, updateDerivatives, updateDerivatives, updateDerivatives, updateDerivativesMethods inherited from class org.opensourcephysics.cabrillo.tracker.TTrack
addFixedItem, addFootprint, addListener, addListenerNCF, addPanelEvents, addStepListener, addTextColumn, assembleMenu, clearColumns, convertTextToDataColumn, createAllVariables, createWarningDialog, delete, delete, finalize, fireStepsChanged, getAllVariables, getAttachmentDescription, getAttachmentLength, getAttachments, getBaseTrackName, getBaseTypeInt, getColor, getCustomFormatPatterns, getData, getData, getDataDescription, getDataName, getDefaultFormatPatterns, getDefaultFormatPatterns, getDescription, getFootprint, getFootprintName, getFootprints, getFormatPatterns, getFrameForData, getIcon, getID, getMarkedPoint, getMarkingCursor, getMenuItems, getMessage, getName, getName, getNameDialog, getPlotViews, getPreferredDataOrder, getProperty, getPropertyNames, getSkippedStepWarningDialog, getStep, getSteps, getStepSizeWarningDialog, getTableViews, getTargetIndex, getTextColumnEntry, getTextColumnNames, getTrack, getTrailLength, getValues, getVarFormatPattern, getVariableDimensions, getVariablesFromFormatterDisplayName, getX, getXMax, getXMin, getY, getYMax, getYMin, invalidateData, isAttached, isAutoAdvance, isAutoTrackable, isDataValid, isEmpty, isEnabled, isFullyAttached, isLocked, isMarkByDefault, isMarking, isMeasured, isTrailVisible, isViewable, isVisible, loadAttachmentsFromNames, refreshAttachments, refreshAttachmentsLater, refreshData, refreshDecimalSeparators, removeActiveTrack, removeDeleteTrackItem, removeListener, removeListenerNCF, removePanelEvents, removeStepListener, removeTextColumn, renameTextColumn, repaint, repaint, repaintAll, repaintStep, restorePatterns, savePatterns, setActive, setAutoAdvance, setColorToDefault, setDefaultNameAndColor, setDescription, setEnabled, setFixedPosition, setFootprint, setFootprints, setFootprints, setFormatPattern, setInitialFormatPatterns, setMarkByDefault, setName, setProperty, setTargetIndex, setTargetIndex, setTargetIndex, setTextColumnEntry, setTrailLength, setTrailVisible, setViewable, setX, setXY, setY, showAnglePopup, showFormatPopup, updateListenerVisibleMethods inherited from class org.opensourcephysics.display.OSPRuntime.Supported
addListeners, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListenerSafely, dispose, firePropertyChange, firePropertyChange, removeListeners, removePropertyChangeListener, removePropertyChangeListenerMethods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.opensourcephysics.display.Interactive
isInteractive
-
Field Details
-
masses
-
inspectorItem
-
inspector
-
-
Constructor Details
-
CenterOfMass
public CenterOfMass()Constructs an empty CenterOfMass. -
CenterOfMass
Constructs a CenterOfMass with specified masses.- Parameters:
masses- an array of point masses
-
-
Method Details
-
draw
Overrides PointMass draw method. -
initialize
Description copied from class:TTrackFinish up any unfinished loading business that for whatever reason was not finished upon loading a track. For example, adding masses to a center-of-mass system, or adding particles to a DynamicSystem.- Overrides:
initializein classTTrack
-
addMass
Adds a mass to the cm system.- Parameters:
m- the mass
-
removeMass
Removes a mass from the cm system.- Parameters:
m- the mass
-
getMasses
Gets the array of masses in this cm.- Returns:
- a shallow clone of the masses array
-
containsMass
Determines if the specified point mass is in this center of mass.- Parameters:
m- the point mass- Returns:
trueif m is in this cm
-
findInteractive
Overrides PointMass findInteractive method.- Specified by:
findInteractivein interfaceInteractive- Overrides:
findInteractivein classPointMass- Parameters:
panel- the drawing panelxpix- the x pixel position on the panelypix- the y pixel position on the panel- Returns:
- the first step or motion vector that is hit
-
setFontLevel
public void setFontLevel(int level) Description copied from class:PointMassSets the font level.- Overrides:
setFontLevelin classPointMass- Parameters:
level- the desired font level
-
setLocked
public void setLocked(boolean locked) Overrides TTrack setLocked method. CenterOfMass is always locked. -
setMass
public void setMass(double mass) Overrides PointMass setMass method. Mass is determined by masses. -
isStepComplete
public boolean isStepComplete(int n) Overrides TTrack isStepComplete method. Always returns true.- Overrides:
isStepCompletein classTTrack- Parameters:
n- the frame number- Returns:
truealways since cm gets data from point masses
-
isDependent
public boolean isDependent()Overrides TTrack isDependent method to return true.- Overrides:
isDependentin classTTrack- Returns:
trueif this track is dependent
-
isAutoTrackable
protected boolean isAutoTrackable()Determines if any point in this track is autotrackable.- Overrides:
isAutoTrackablein classPointMass- Returns:
- true if autotrackable
-
setTrackerPanel
Adds events for TrackerPanel.- Overrides:
setTrackerPanelin classPointMass- Parameters:
panel- the new TrackerPanel
-
propertyChange
Responds to property change events.- Specified by:
propertyChangein interfacePropertyChangeListener- Overrides:
propertyChangein classPointMass- Parameters:
e- the property change event
-
dispose
public void dispose()Cleans up associated resources when this track is deleted or cleared. -
getMenu
Returns a menu with items that control this track. -
getToolbarTrackComponents
Overrides TTrack getToolbarTrackComponents method.- Overrides:
getToolbarTrackComponentsin classPointMass- Parameters:
trackerPanel- the tracker panel- Returns:
- the DataSetManager
-
getToolbarPointComponents
Overrides TTrack getToolbarPointComponents method.- Overrides:
getToolbarPointComponentsin classPointMass- Parameters:
trackerPanel- the tracker panelpoint- the TPoint- Returns:
- a list of components
-
toString
Overrides PointMass toString method. -
getLoader
Returns an ObjectLoader to save and load data for this class.- Returns:
- the object loader
-
getInspector
Gets the center of mass inspector.- Returns:
- the center of mass inspector
-