public class TheWandererRookie extends MembranePackingAlgorithm implements java.awt.event.ItemListener, javax.swing.event.ChangeListener
| Modifier and Type | Field and Description |
|---|---|
boolean |
wanderDancing |
boolean |
wanderForFellow |
boolean |
wantsToStop |
basicOperations, BORDER_EAST, BORDER_MAX_Y, BORDER_MIN_Y, BORDER_NORTH, BORDER_SOUTH, BORDER_WEST, calculationManager, CurrentMicroDomain, databaseOperations, EXTRA, INTRA, lipidsEC, lipidsIC, LIPIDTYPE, membraneViewListener, microDomains, PROTEINTYPE, random| Constructor and Description |
|---|
TheWandererRookie() |
| Modifier and Type | Method and Description |
|---|---|
void |
addNewLipid(Lipid newLipidToAdd,
int numberOfRuns)
Add the given lipid to the membrane.
|
boolean |
buildAndShowGui()
Generates the GUI with different options.
|
Lipid |
createNewLipid(Lipid newLipidToAdd,
int newLipidDomainID,
int numberOfRuns)
Create a new lipid.
|
void |
fillWithLipids()
The runtime of this algorithm is:
n*([F+]D[+C]), where
n = number of attempts to place new lipids F = place first lipid in row,
with: FreeEast, FreeSouth, [FellowWest, FellowNorth, [RotateNorthWest]] D
= place a follow-up lipid directly, with: FreeEast, FreeSouth,
[FellowWest, FellowNorth, [RotateNorthWest]] C = place a correcting
follow-up lipid if the first attempt did not succed, with:
([FellowNorth,] FreedomSouth, FreedomEast, [FellowNorth, FellowWest]) ||
(FreedomEast, FreedomSouth, [FellowWest, FellowNorth, [RotateNorthWest]])
|
java.lang.String |
getFullInformation()
returns full information about this algorithm
|
int |
getMicroDomainAtXZ(float xPosition,
float zPosition)
Returns the microdomain at the given x/z coordinates.
|
java.lang.String |
getName() |
int |
getRandomRotationInMode(int mode)
Returns a random integer for the roation in the given mode.
|
java.awt.Component |
getRuntimeControlPanel() |
java.lang.String |
getShortInformation()
returns short information about this algorithm
|
java.lang.String |
getStringRepresentationOfSetupParameters()
returns a string representation of users GUI settings
|
boolean |
intersectsWithLipids(Lipid givenLipid)
Returns true is the given Lipid intersects with a Lipid on both sides of
the membrane.
|
void |
itemStateChanged(java.awt.event.ItemEvent arg0)
handles users GUI settings
|
boolean |
overrideExistingLipids() |
void |
removeIntersectingEarthOrSkyLipids(java.util.HashSet<Lipid> lipidsOfActualRuns)
Remove all lost wanderers from the intra- and extracellular side.
|
void |
stateChanged(javax.swing.event.ChangeEvent arg0)
Handles User's GUI settings
|
void |
stopAlgorithm() |
boolean |
supportsAbsoluteValues() |
boolean |
supportsMicrodomains() |
javax.vecmath.Point3f |
wanderForFellowEast(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and free lipid to the east until it meeting a fellow or
the border.
|
javax.vecmath.Point3f |
wanderForFellowNorth(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and free lipid to the north until it meeting a fellow or
the border.
|
javax.vecmath.Point3f |
wanderForFellowSouth(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and free lipid to the south until it meeting a fellow or
the border.
|
javax.vecmath.Point3f |
wanderForFellowVertical(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra,
float[] directXZ)
Move the placed and free lipid to the east until it meeting a fellow or
the border.
|
javax.vecmath.Point3f |
wanderForFellowWest(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and free lipid to the west until it meeting a fellow or
the border.
|
javax.vecmath.Point3f |
wanderForFreedomEast(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and trapped lipid to the east until it is free.
|
javax.vecmath.Point3f |
wanderForFreedomNorth(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and trapped lipid to the north until it is free.
|
javax.vecmath.Point3f |
wanderForFreedomSouth(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and trapped lipid to the south until it is free.
|
javax.vecmath.Point3f |
wanderForFreedomSouthEast(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and trapped lipid to the south-east until it is free.
|
javax.vecmath.Point3f |
wanderForFreedomWest(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra)
Move the placed and trapped lipid to the west until it is free.
|
javax.vecmath.Point3f |
wanderForOptimalRotationNorthWest(Lipid givenLipid,
int microDomainID,
float plusForExtraMinusForIntra,
int mode)
Wanders to the North and to the West for a Fellow and tries to find the
optimal y-Rotation, following the mode.
|
addEntryToDB, addExtracellularLipid, addIntracellularLipid, clearAllLipids, copyMatrix, countSampleLipids_Extracellular, countSampleLipids_Intracellular, countTotalLipidsThatAreAdded, createAUnitMatrix, createNextExtracellularLipid, createNextExtracellularLipid, createNextIntracellularLipid, createNextIntracellularLipid, createRandomLayerID, createRandomXZPosition, displayInformation, distance, distance, dock, getAlgorithm_Directory_In_Workspace, getAllLipids, getAllLipidsInDomain, getAllMoleculesInCurrentModel, getAllProteins, getAllProteinsInDomain, getAllSampleLipids_ExtraCellular, getAllSampleLipids_ExtraCellular, getAllSampleLipids_IntraCellular, getAllSampleLipids_IntraCellular, getAllSampleLipidsInModel, getCurrentLayerID, getCurrentRenderMode, getDecimalPlaces, getDesiredAtomDistance, getExtracellularLipidByPDBCode, getIntersectedBorders, getIntersectedMolecules, getIntracellularLipidByPDBCode, getJ3DBranchGroup, getLayerAtIndex, getLayerByLayerID, getLayerCount, getLipidInMembraneHeight, getLipidsInRadiusExcept, getMembraneArea, getMembraneBounds2D, getMembraneSize, getMicroDomain, getMicroDomainAt, getMicroDomainAtPoint, getMicroDomainAtPoint, getMicroDomainCount, getMinAtomDistance, getMoleculesInRadius, getMoleculesInRadiusExcept, getMoleculesInRadiusOnMySide, getMoleculesInRadiusOnMySide, getMoleculesInRadiusOnMySideExcept, getNearestLipidOnMySide, getNearestMolecule, getNearestMoleculeExcept, getNearestMoleculeExceptDetailed, getNearestMoleculeExceptOnMySide, getNearestMoleculeExceptOnMySideDetailed, getNearestMoleculeOnMySide, getNearestMoleculeOnMySideDetailed, getNearestProtein, getNearestProteinDetailed, getNearestProteinExcept, getNearestProteinExceptDetailed, getOriginalConstraintLenghts, getOriginalConstraintLengths, getPercentages_ExtraCellular, getPercentages_IntraCellular, getSampleLipid_Extracellular, getSampleLipid_Intracellular, getSelectedArea, getStartingTime, getSystemCovalentRadius, getSystemVanDerWaalsRadius, getTerminationTime, getTotalHeight, getTotalHeight, hasMembraneAnyExtracellularLipids, hasMembraneAnyIntracellularLipids, hasMembraneAnyProteins, hasMultipleLayers, intersects, intersectsAnyMicroDomain, intersectsBorderEast, intersectsBorderNorth, intersectsBorders, intersectsBorderSouth, intersectsBorderWest, intersectsEarth, intersectsEarthOrSky, intersectsMoleculeWithMolecule, intersectsMoleculeWithMolecules, intersectsSky, intersectsWithLipid, intersectsWithProteins, isAtomCollisionOn, isAtomDistanceAbsolute, isComputeAbsoluteValuesSelected, isInSystemTray, isOnAir, isStartInBackgroundAllowed, isStartInBackgroundSelected, manuallyUpdateStatistics, MembraneHasAnyExtracellularLipids, MembraneHasAnyIntracellularLipids, nearestAtomPoints, nearestTrianglePoints, refreshViews, removeExtracellularLipid, removeIntracellularLipid, removeLipidsFromMembrane, requestChangeOfRenderMode, restoreMembraneFromPDB, returnFromSystemTray, sendToSystemTray, setComputeAbsoluteValues, setDisplayedProgress, setListenerAndPrepare, setListenerAndPrepare, setListenerAndPrepare, setPercentages, setSimpleRandom, setStartInBackgroundAllowed, setStartInBackgroundSelected, setStartingTime, setTerminationTime, setUniqueRandompublic boolean wantsToStop
public boolean wanderForFellow
public boolean wanderDancing
public void itemStateChanged(java.awt.event.ItemEvent arg0)
itemStateChanged in interface java.awt.event.ItemListenerpublic void stateChanged(javax.swing.event.ChangeEvent arg0)
stateChanged in interface javax.swing.event.ChangeListenerpublic boolean buildAndShowGui()
buildAndShowGui in interface MembranePackingAlgorithmInterfacepublic void fillWithLipids()
throws java.lang.Exception
fillWithLipids in interface MembranePackingAlgorithmInterfacejava.lang.Exceptionpublic Lipid createNewLipid(Lipid newLipidToAdd, int newLipidDomainID, int numberOfRuns)
newLipidToAdd - newLipidDomainID - numberOfRuns - public void addNewLipid(Lipid newLipidToAdd, int numberOfRuns) throws java.lang.Exception
newLipidToAdd - numberOfRuns - java.lang.Exceptionpublic javax.vecmath.Point3f wanderForFreedomEast(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFellowEast(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFreedomWest(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFellowWest(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFreedomNorth(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFellowNorth(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFreedomSouth(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFellowSouth(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForFreedomSouthEast(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra)
givenLipid - microDomainID - plusForExtraMinusForIntra - public javax.vecmath.Point3f wanderForOptimalRotationNorthWest(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra, int mode)
givenLipid - microDomainID - plusForExtraMinusForIntra - yRotation - mode - public javax.vecmath.Point3f wanderForFellowVertical(Lipid givenLipid, int microDomainID, float plusForExtraMinusForIntra, float[] directXZ)
givenLipid - microDomainID - plusForExtraMinusForIntra - public int getRandomRotationInMode(int mode)
mode - public int getMicroDomainAtXZ(float xPosition,
float zPosition)
xPosition - zPosition - public void removeIntersectingEarthOrSkyLipids(java.util.HashSet<Lipid> lipidsOfActualRuns)
lipidVectorEC - public boolean intersectsWithLipids(Lipid givenLipid)
givenLipid - public java.lang.String getFullInformation()
getFullInformation in interface MembranePackingAlgorithmInterfacepublic java.lang.String getName()
getName in interface MembranePackingAlgorithmInterfacepublic java.awt.Component getRuntimeControlPanel()
getRuntimeControlPanel in interface MembranePackingAlgorithmInterfacepublic java.lang.String getShortInformation()
getShortInformation in interface MembranePackingAlgorithmInterfacepublic java.lang.String getStringRepresentationOfSetupParameters()
getStringRepresentationOfSetupParameters in interface MembranePackingAlgorithmInterfacepublic boolean overrideExistingLipids()
overrideExistingLipids in interface MembranePackingAlgorithmInterfacepublic void stopAlgorithm()
stopAlgorithm in interface MembranePackingAlgorithmInterfacepublic boolean supportsAbsoluteValues()
supportsAbsoluteValues in interface MembranePackingAlgorithmInterfacepublic boolean supportsMicrodomains()
supportsMicrodomains in interface MembranePackingAlgorithmInterface