|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectini.trakem2.persistence.DBObject
ini.trakem2.display.Displayable
ini.trakem2.display.ZDisplayable
ini.trakem2.display.Ball
public class Ball
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ini.trakem2.display.Displayable |
---|
Displayable.DataPackage, Displayable.DoEdit, Displayable.DoEdits, Displayable.DoTransforms, Displayable.SliderListener |
Field Summary | |
---|---|
protected int |
n_points
The number of points. |
protected double[][] |
p
The array of clicked points. |
protected long[] |
p_layer
The array of Layers over which each point lives |
protected double[] |
p_width
The width of each point. |
Fields inherited from class ini.trakem2.display.ZDisplayable |
---|
layer_set |
Fields inherited from class ini.trakem2.display.Displayable |
---|
alpha, annotation, at, color, COMPOSITE_ADD, COMPOSITE_COLOR_YCBCR, COMPOSITE_DIFFERENCE, COMPOSITE_MULTIPLY, COMPOSITE_NORMAL, COMPOSITE_SUBTRACT, compositeModes, height, hs_linked, last_color, layer, linked_props, linked_props_origins, locked, props, TAG_ATTR1, TAG_ATTR2, title, visible, width |
Fields inherited from class ini.trakem2.persistence.DBObject |
---|
id, project |
Constructor Summary | |
---|---|
Ball(Project project,
long id,
java.util.HashMap<java.lang.String,java.lang.String> ht,
java.util.HashMap<Displayable,java.lang.String> ht_links)
Construct a Ball from an XML entry. |
|
Ball(Project project,
long id,
java.lang.String title,
float width,
float height,
float alpha,
boolean visible,
java.awt.Color color,
boolean locked,
java.awt.geom.AffineTransform at)
Construct an unloaded Ball from the database. |
|
Ball(Project project,
java.lang.String title,
double x,
double y)
|
Method Summary | |
---|---|
void |
addBall(double x,
double y,
double r,
long layer_id)
Used to add individual ball objects when parsing. |
protected int |
addPoint(double x_p,
double y_p,
long layer_id,
double radius)
Add a point either at the end or between two existing points, with accuracy depending on magnification. |
void |
adjustProperties()
Shows a dialog to adjust properties of this object. |
boolean |
apply(Layer la,
java.awt.geom.Area roi,
mpicbg.models.CoordinateTransform ict)
Applies the 2D transform @ict (which is expected to operate on the world coordinates version of the data contained here) only to the data that falls within the @param roi (in world coords), and then recomputes the bounding box and affine transform (to a translation or identity). |
boolean |
apply(VectorDataTransform vdt)
|
protected boolean |
calculateBoundingBox(Layer la)
|
Displayable |
clone(Project pr,
boolean copy_id)
Performs a deep copy of this object, without the links. |
boolean |
contains(Layer layer,
int x,
int y)
Test whether the Ball contains the given point at the given layer. |
boolean |
crop(java.util.List<Layer> range)
Retain the data within the layer range, and throw out all the rest. |
void |
destroy()
Release all memory resources taken by this object. |
static void |
exportDTD(java.lang.StringBuilder sb_header,
java.util.HashSet<java.lang.String> hs,
java.lang.String indent)
|
void |
exportSVG(java.lang.StringBuffer data,
double z_scale,
java.lang.String indent)
Does nothing unless overriden. |
void |
exportXML(java.lang.StringBuilder sb_body,
java.lang.String indent,
java.lang.Object any)
Similar to exportSVG but the layer_id is saved instead of the z. |
protected int |
findPoint(double[][] a,
int x_p,
int y_p,
double magnification,
long lid)
Find a point in an array, with a precision dependent on the magnification. |
void |
flush()
Release memory resources used by this object: namely the arrays of points, which can be reloaded with a call to setupForDisplay() |
static double[][][] |
generateGlobe(int meridians,
int parallels)
Generate a globe of radius 1.0 that can be used for any Ball. |
java.util.List<javax.vecmath.Point3f> |
generateTriangles(double scale,
double[][][] globe)
Put all balls as a single 'mesh'; the returned list contains all faces as three consecutive Point3f. |
java.awt.geom.Area |
getAreaAt(Layer layer)
This area is meant to represent the entire area where a Displayable paints to in the @param layer. |
double[][] |
getBalls()
Returns a [n_points][4] array, with x,y,z,radius on the second part; not transformed, but local! To obtain balls in world coordinates, calibrated, use getWorldBalls(). |
int |
getCount()
Return the number of balls. |
Layer |
getFirstLayer()
Returns the layer of lowest Z coordinate where this ZDisplayable has a point in, or the creation layer if no points yet. |
java.lang.String |
getInfo()
Returns information on the number of ball objects per layer. |
java.util.Collection<java.lang.Long> |
getLayerIds()
Get the list of Layer ids on which this ZDisplayable has data on. |
java.awt.Polygon |
getPerimeter()
The exact perimeter of this Ball, in integer precision. |
java.lang.String[] |
getPointsForSQL()
Return the list of query statements needed to insert all the points in the database. |
java.util.Map<Layer,double[]> |
getRawBalls()
Returns the raw data for the balls, sorted by Layer ID versus double[]{z,y,r} . |
double[][] |
getWorldBalls()
Returns a [n_points][4] array, with x,y,z,radius on the second part, in world coordinates (that is, transformed with this AffineTransform and calibrated with the containing LayerSet's calibration). |
boolean |
intersects(java.awt.geom.Area area,
double z_first,
double z_last)
|
boolean |
isDeletable()
|
protected boolean |
isRoughlyInside(Layer layer,
java.awt.Rectangle r)
If this Displayable intersects with @param r or almost intersects, then returns true. |
void |
keyPressed(java.awt.event.KeyEvent ke)
|
protected boolean |
layerRemoved(Layer la)
Update internal datastructures to reflect the fact that @param layer has been removed from the containing LayerSet. |
boolean |
linkPatches()
Link the Patch objects that lay underneath the part of the bounding box of this profile that shows in the current layer, so that they cannot be dragged independently. |
ij.measure.ResultsTable |
measure(ij.measure.ResultsTable rt)
Returns a listing of all balls contained here, one per row with index, x, y, z, and radius, all calibrated. |
void |
mouseDragged(java.awt.event.MouseEvent me,
Layer layer,
int x_p,
int y_p,
int x_d,
int y_d,
int x_d_old,
int y_d_old)
|
void |
mousePressed(java.awt.event.MouseEvent me,
Layer layer,
int x_p,
int y_p,
double mag)
|
void |
mouseReleased(java.awt.event.MouseEvent me,
Layer layer,
int x_p,
int y_p,
int x_d,
int y_d,
int x_r,
int y_r)
|
void |
paint(java.awt.Graphics2D g,
java.awt.Rectangle srcRect,
double magnification,
boolean active,
int channels,
Layer active_layer,
java.util.List<Layer> layers)
|
boolean |
paintsAt(Layer layer)
Check if this instance will paint anything at the level of the given Layer. |
protected void |
removePoint(int index)
Remove a point. |
void |
repaint(boolean repaint_navigator,
Layer layer)
Repaints in the given ImageCanvas only the area corresponding to the bounding box of this Profile. |
void |
set(int i,
double x,
double y,
Layer la,
double radius)
Set the x,y,radius raw pixel values for the ball at index i. |
void |
setRadius(int i,
double radius)
Set the radius (raw pixel value) for the ball at index i. |
void |
toShapesFile(java.lang.StringBuffer data,
java.lang.String group,
java.lang.String color,
double z_scale)
Writes the data of this object as a Ball object in the .shapes file represented by the 'data' StringBuffer. |
Methods inherited from class ini.trakem2.display.ZDisplayable |
---|
exportDTD, getBucketable, getLayerSet, remove, remove2, setColor, setLayer, setLayerSet, setLayerSet, setPosition, setVisible, softRemove, transformPoints, updateBucket, updateBucket |
Methods inherited from class ini.trakem2.persistence.DBObject |
---|
addToDatabase, getId, getProject, getUniqueIdentifier, removeFromDatabase, updateInDatabase |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected int n_points
protected double[][] p
protected long[] p_layer
protected double[] p_width
Constructor Detail |
---|
public Ball(Project project, java.lang.String title, double x, double y)
public Ball(Project project, long id, java.lang.String title, float width, float height, float alpha, boolean visible, java.awt.Color color, boolean locked, java.awt.geom.AffineTransform at)
public Ball(Project project, long id, java.util.HashMap<java.lang.String,java.lang.String> ht, java.util.HashMap<Displayable,java.lang.String> ht_links)
Method Detail |
---|
public void addBall(double x, double y, double r, long layer_id)
protected int findPoint(double[][] a, int x_p, int y_p, double magnification, long lid)
protected void removePoint(int index)
protected int addPoint(double x_p, double y_p, long layer_id, double radius)
public void paint(java.awt.Graphics2D g, java.awt.Rectangle srcRect, double magnification, boolean active, int channels, Layer active_layer, java.util.List<Layer> layers)
paint
in interface Paintable
paint
in class Displayable
public void keyPressed(java.awt.event.KeyEvent ke)
keyPressed
in class Displayable
public void mousePressed(java.awt.event.MouseEvent me, Layer layer, int x_p, int y_p, double mag)
mousePressed
in class Displayable
public void mouseDragged(java.awt.event.MouseEvent me, Layer layer, int x_p, int y_p, int x_d, int y_d, int x_d_old, int y_d_old)
mouseDragged
in class Displayable
public void mouseReleased(java.awt.event.MouseEvent me, Layer layer, int x_p, int y_p, int x_d, int y_d, int x_r, int y_r)
mouseReleased
in class Displayable
protected boolean calculateBoundingBox(Layer la)
calculateBoundingBox
in class ZDisplayable
public void destroy()
destroy
in class Displayable
public void repaint(boolean repaint_navigator, Layer layer)
public void flush()
public java.awt.Polygon getPerimeter()
getPerimeter
in class Displayable
public void toShapesFile(java.lang.StringBuffer data, java.lang.String group, java.lang.String color, double z_scale)
public java.lang.String[] getPointsForSQL()
public boolean isDeletable()
isDeletable
in class Displayable
public boolean contains(Layer layer, int x, int y)
contains
in class Displayable
public boolean linkPatches()
ZDisplayable
linkPatches
in class ZDisplayable
public Layer getFirstLayer()
getFirstLayer
in class ZDisplayable
public java.util.Map<Layer,double[]> getRawBalls()
public double[][] getBalls()
public double[][] getWorldBalls()
public void exportSVG(java.lang.StringBuffer data, double z_scale, java.lang.String indent)
Displayable
exportSVG
in class Displayable
public void exportXML(java.lang.StringBuilder sb_body, java.lang.String indent, java.lang.Object any)
exportXML
in class ZDisplayable
public static void exportDTD(java.lang.StringBuilder sb_header, java.util.HashSet<java.lang.String> hs, java.lang.String indent)
public boolean paintsAt(Layer layer)
ZDisplayable
paintsAt
in class ZDisplayable
public java.lang.String getInfo()
getInfo
in class DBObject
public Displayable clone(Project pr, boolean copy_id)
clone
in class Displayable
public static double[][][] generateGlobe(int meridians, int parallels)
public java.util.List<javax.vecmath.Point3f> generateTriangles(double scale, double[][][] globe)
public boolean intersects(java.awt.geom.Area area, double z_first, double z_last)
intersects
in class ZDisplayable
area
- is expected in world coordinates.public java.awt.geom.Area getAreaAt(Layer layer)
Displayable
getAreaAt
in class Displayable
protected boolean isRoughlyInside(Layer layer, java.awt.Rectangle r)
Displayable
isRoughlyInside
in class Displayable
public ij.measure.ResultsTable measure(ij.measure.ResultsTable rt)
measure
in class Displayable
public boolean crop(java.util.List<Layer> range)
crop
in class ZDisplayable
protected boolean layerRemoved(Layer la)
ZDisplayable
layerRemoved
in class ZDisplayable
public boolean apply(Layer la, java.awt.geom.Area roi, mpicbg.models.CoordinateTransform ict) throws java.lang.Exception
VectorData
apply
in interface VectorData
la
- Only data at this Layer may be transformed.roi
- Only data inside this world-coordinates Area may be transformed.ict
- The transform to apply to the data that is in @param la and within @param roi.
java.lang.Exception
public boolean apply(VectorDataTransform vdt) throws java.lang.Exception
apply
in interface VectorData
java.lang.Exception
public java.util.Collection<java.lang.Long> getLayerIds()
ZDisplayable
getLayerIds
in class ZDisplayable
public void adjustProperties()
Displayable
adjustProperties
in class Displayable
public void set(int i, double x, double y, Layer la, double radius)
java.lang.IndexOutOfBoundsException
- if i < 0 or i >= the number of points.public int getCount()
public void setRadius(int i, double radius)
java.lang.IndexOutOfBoundsException
- if i < 0 or i >= the number of points.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |