public class IntersectManager
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
BORDER_EAST |
static int |
BORDER_MAX_Y |
static int |
BORDER_MIN_Y |
static int |
BORDER_NORTH |
static int |
BORDER_SOUTH |
static int |
BORDER_WEST |
static javax.vecmath.Vector3d[] |
possibleDirections |
Constructor and Description |
---|
IntersectManager() |
Modifier and Type | Method and Description |
---|---|
Molecule_3D[] |
getCollisionObjects()
Returns the list of Objects, that have collided during the last run of a
test.
|
int[] |
intercects_Molecule_Border_In_Detail(Molecule_3D mol,
java.awt.Dimension membraneSize)
An enhanced version of the molecule_border-test.
|
boolean |
intercects_Molecule_Border(Molecule_3D mol,
java.awt.Dimension membraneSize)
Tests, if a molecule is completely inside the defined membrane bounds
Returns false if not, no matter if the molecule intersects with the
border or if it is completely outside the range
|
boolean |
intercects_Molecule_Earth(Molecule_3D mol)
Tests, if a molecule is inside the lower limit.
|
boolean |
intercects_Molecule_Sky(Molecule_3D mol)
Tests, if a molecule is inside the upper limit.
|
boolean |
intercectsBorderOrAnyMolecule(Molecule_3D mol,
boolean breakAfterFirstHit) |
boolean |
intercectsBorderOrAnyMolecule(Molecule_3D mol,
int molID,
boolean breakAfterFirstHit,
java.util.HashSet<java.lang.String> hashMol2MolID) |
boolean |
intercectsWithBorderOrAnyProtein(Molecule_3D mol,
boolean breakAfterFirstHit)
Tests, if a molecule collides with either the border or any Protein that
is already added to the membrane.
|
boolean |
intersectsMoleculeAnyMolecules(Molecule_3D mol,
boolean breakAfterFirstHit)
Tests, if a molecule collides with any Molecule that is already added to
the membrane, inclusive lipids.
|
boolean |
intersectsMoleculeAnyMolecules(Molecule_3D mol,
int molNumber,
boolean breakAfterFirstHit,
java.util.HashSet<java.lang.String> hashMol2MolIds)
Tests, if a molecule collides with any Molecule that is already added to
the membrane, inclusive lipids.
|
boolean |
intersectsMoleculeAnyProtein(Molecule_3D mol,
boolean breakAfterFirstHit)
Tests, if a molecule collides with any Protein that is already added to
the membrane.
|
boolean |
intersectsMoleculeMoleculesVector(Molecule_3D mol,
int molNumber,
java.util.Vector<?> molecules,
boolean breakAfterFirstHit,
java.util.HashSet<java.lang.String> hashMol2MolIDs)
Tests, if a molecule collides with any molecule in a list that also has
to be passed.
|
boolean |
intersectsMoleculeMoleculesVector(Molecule_3D mol,
java.util.Vector<?> molecules,
boolean breakAfterFirstHit)
Tests, if a molecule collides with any molecule in a list that also has
to be passed.
|
boolean |
isCompletelyInside(javax.vecmath.Point3d inner,
float[] TRARouter) |
public static final int BORDER_NORTH
public static final int BORDER_EAST
public static final int BORDER_SOUTH
public static final int BORDER_WEST
public static final int BORDER_MAX_Y
public static final int BORDER_MIN_Y
public static final javax.vecmath.Vector3d[] possibleDirections
public boolean intercects_Molecule_Border(Molecule_3D mol, java.awt.Dimension membraneSize)
mol
- membraneSize
- public boolean intercects_Molecule_Sky(Molecule_3D mol)
mol
- membraneSize
- public boolean intercects_Molecule_Earth(Molecule_3D mol)
mol
- membraneSize
- public int[] intercects_Molecule_Border_In_Detail(Molecule_3D mol, java.awt.Dimension membraneSize)
mol
- membraneSize
- public boolean intercectsBorderOrAnyMolecule(Molecule_3D mol, boolean breakAfterFirstHit)
public boolean intercectsBorderOrAnyMolecule(Molecule_3D mol, int molID, boolean breakAfterFirstHit, java.util.HashSet<java.lang.String> hashMol2MolID)
public boolean intercectsWithBorderOrAnyProtein(Molecule_3D mol, boolean breakAfterFirstHit)
mol
- breakAfterFirstHit
- if false, all other proteins will be checked for collision.
All collision results will be added into a list that can be
used afterwards. If its just necessary to test wether a
collision occures at all, then it should be set true, to
reduce costspublic boolean intersectsMoleculeMoleculesVector(Molecule_3D mol, java.util.Vector<?> molecules, boolean breakAfterFirstHit)
mol
- breakAfterFirstHit
- if false, all other proteins will be checked for collision.
All collision results will be added into a list that can be
used afterwards. If its just necessary to test wether a
collision occures at all, then it should be set true, to
reduce costspublic boolean intersectsMoleculeMoleculesVector(Molecule_3D mol, int molNumber, java.util.Vector<?> molecules, boolean breakAfterFirstHit, java.util.HashSet<java.lang.String> hashMol2MolIDs)
mol
- Molecule_3DmolID
- the actually selected ID of molbreakAfterFirstHit
- if false, all other proteins will be checked for collision.
All collision results will be added into a list that can be
used afterwards. If its just necessary to test wether a
collision occures at all, then it should be set true, to
reduce costshashMol2MolIDs
- contains the already compared molecule IDspublic boolean intersectsMoleculeAnyProtein(Molecule_3D mol, boolean breakAfterFirstHit)
mol
- breakAfterFirstHit
- if false, all other proteins will be checked for collision.
All collision results will be added into a list that can be
used afterwards. If its just necessary to test wether a
collision occures at all, then it should be set true, to
reduce costspublic boolean intersectsMoleculeAnyMolecules(Molecule_3D mol, boolean breakAfterFirstHit)
mol
- breakAfterFirstHit
- if false, all other molecules will be checked for collision.
All collision results will be added into a list that can be
used afterwards. If its just necessary to test wether a
collision occures at all, then it should be set true, to
reduce costspublic boolean intersectsMoleculeAnyMolecules(Molecule_3D mol, int molNumber, boolean breakAfterFirstHit, java.util.HashSet<java.lang.String> hashMol2MolIds)
mol
- breakAfterFirstHit
- if false, all other molecules will be checked for collision.
All collision results will be added into a list that can be
used afterwards. If its just necessary to test wether a
collision occures at all, then it should be set true, to
reduce costspublic Molecule_3D[] getCollisionObjects()
public boolean isCompletelyInside(javax.vecmath.Point3d inner, float[] TRARouter)