@@ -68,14 +68,15 @@ public LineSegment(SimplePoint fromPoint, SimplePoint toPoint,
6868
6969 /**
7070 * Constructs a line segment with default width and default height.
71+ *
7172 * @param fromPoint
7273 * @param toPoint
7374 */
7475 public LineSegment (SimplePoint fromPoint , SimplePoint toPoint ) {
75- this (fromPoint , toPoint ,
76- Defaults . sharedDefaults (). defaultColorForLineSegment (),
77- Defaults . sharedDefaults (). defaultColorForSelectedLineSegment (),
78- Defaults .sharedDefaults ().defaultStrokeWidthForLineSegment ());
76+ this (fromPoint , toPoint , Defaults . sharedDefaults ()
77+ . defaultColorForLineSegment (), Defaults . sharedDefaults ()
78+ . defaultColorForSelectedLineSegment (), Defaults
79+ .sharedDefaults ().defaultStrokeWidthForLineSegment ());
7980
8081 }
8182
@@ -102,13 +103,17 @@ public boolean contains(int x, int y) {
102103 if (fromPoint .contains (x , y ) || toPoint .contains (x , y )) {
103104 return false ;
104105 }
105-
106+
106107 double lineXDis = fromPoint .getX () - toPoint .getX ();
107108 double lineYDis = toPoint .getY () - fromPoint .getY ();
108- double constantTerm = fromPoint .getY () * toPoint .getX () - toPoint .getY () * fromPoint .getX ();
109-
109+ double constantTerm = fromPoint .getY () * toPoint .getX ()
110+ - toPoint .getY () * fromPoint .getX ();
111+
110112 // Calculate point to line distance with formula.
111- double pointToLineDis = Math .abs ((lineYDis * x + lineXDis * y + constantTerm ) / Math .sqrt (Math .pow (lineYDis , 2 ) + Math .pow (lineXDis , 2 )));
113+ double pointToLineDis = Math
114+ .abs ((lineYDis * x + lineXDis * y + constantTerm )
115+ / Math .sqrt (Math .pow (lineYDis , 2 )
116+ + Math .pow (lineXDis , 2 )));
112117
113118 // If the point is within 3 pixels of the line, return true.
114119 if (pointToLineDis <= 3 + strokeWidth / 2 ) {
@@ -122,86 +127,98 @@ public boolean contains(int x, int y) {
122127 public void translate (int i , int j ) {
123128 super .translate (i , j );
124129 // if from and to points are not selected, translate them as well
125- if (this .fromPoint .isSelected () == false ){
130+ if (this .fromPoint .isSelected () == false ) {
126131 this .fromPoint .translate (i , j );
127132 }
128- if (this .toPoint .isSelected () == false ){
133+ if (this .toPoint .isSelected () == false ) {
129134 this .toPoint .translate (i , j );
130135 }
131136
132137 }
133-
138+
134139 @ Override
135140 public void saveToElement (Element rootElement , Document doc ) {
136141 super .saveToElement (rootElement , doc );
137-
138- //build elements
142+
143+ // build elements
139144 Element main = doc .createElement ("linesegment" );
140145
141146 Element fromPointElem = doc .createElement ("frompoint" );
142147 Element toPointElem = doc .createElement ("topoint" );
143148 Element defaultColorElem = doc .createElement ("defaultcolor" );
144149 Element selectColorElem = doc .createElement ("selectcolor" );
145150 Element strokeWidthElem = doc .createElement ("strokewidth" );
146-
147- //append relationship
151+
152+ // append relationship
148153 main .appendChild (fromPointElem );
149154 main .appendChild (toPointElem );
150155 main .appendChild (defaultColorElem );
151156 main .appendChild (selectColorElem );
152157 main .appendChild (strokeWidthElem );
153158 rootElement .appendChild (main );
154-
155- //fill data
156- fromPointElem .setAttribute ("id" , Long .toString (fromPoint .getComponentID ()));
159+
160+ // fill data
161+ fromPointElem .setAttribute ("id" ,
162+ Long .toString (fromPoint .getComponentID ()));
157163 toPointElem .setAttribute ("id" , Long .toString (toPoint .getComponentID ()));
158- XMLEncodingUtilForPaintComponents .attachRGB (defaultColor , defaultColorElem , doc );
159- XMLEncodingUtilForPaintComponents .attachRGB (selectColor , selectColorElem , doc );
160- strokeWidthElem .appendChild (doc .createTextNode (Double .toString (strokeWidth )));
161-
164+ XMLEncodingUtilForPaintComponents .attachRGB (defaultColor ,
165+ defaultColorElem , doc );
166+ XMLEncodingUtilForPaintComponents .attachRGB (selectColor ,
167+ selectColorElem , doc );
168+ strokeWidthElem .appendChild (doc .createTextNode (Double
169+ .toString (strokeWidth )));
170+
162171 }
163172
164173 /**
165174 *
166- * Recover the line segment from a element that should be operated by saveToElement
175+ * Recover the line segment from a element that should be operated by
176+ * saveToElement
167177 *
168- * The implementation searches all panel's paintcomponents to find the matching ids using PanelIO.idMapping
178+ * The implementation searches all panel's paintcomponents to find the
179+ * matching ids using PanelIO.idMapping
169180 *
170181 * @param rootElement
171182 * @param panel
172183 */
173184 public LineSegment (Element rootElement , PaintPanel panel ) {
174185 super (rootElement , panel );
175- Element main = (Element ) rootElement .getElementsByTagName ("linesegment" ).item (0 );
176- Element fromPointElement = (Element ) main .getElementsByTagName ("frompoint" ).item (0 );
177- Element toPointElem = (Element ) main .getElementsByTagName ("topoint" ).item (0 );
178- Element defaultColorElem = (Element ) main .getElementsByTagName ("defaultcolor" ).item (0 );
179- Element selectColorElem = (Element ) main .getElementsByTagName ("selectcolor" ).item (0 );
180- Element strokeWidthElem = (Element ) main .getElementsByTagName ("strokewidth" ).item (0 );
181-
182-
183- defaultColor = XMLEncodingUtilForPaintComponents .getRGB (defaultColorElem );
186+ Element main = (Element ) rootElement
187+ .getElementsByTagName ("linesegment" ).item (0 );
188+ Element fromPointElement = (Element ) main .getElementsByTagName (
189+ "frompoint" ).item (0 );
190+ Element toPointElem = (Element ) main .getElementsByTagName ("topoint" )
191+ .item (0 );
192+ Element defaultColorElem = (Element ) main .getElementsByTagName (
193+ "defaultcolor" ).item (0 );
194+ Element selectColorElem = (Element ) main .getElementsByTagName (
195+ "selectcolor" ).item (0 );
196+ Element strokeWidthElem = (Element ) main .getElementsByTagName (
197+ "strokewidth" ).item (0 );
198+
199+ defaultColor = XMLEncodingUtilForPaintComponents
200+ .getRGB (defaultColorElem );
184201 selectColor = XMLEncodingUtilForPaintComponents .getRGB (selectColorElem );
185202 strokeWidth = Double .parseDouble (strokeWidthElem .getTextContent ());
186203 stroke = new BasicStroke ((float ) strokeWidth );
187-
188- //append from and to points
189-
204+
205+ // append from and to points
206+
190207 ArrayList <PaintComponent > paintComponents = panel .getPaintComponents ();
191-
192-
193- //select only the paint components to check ID
194- long fromPointID = PanelIO .idMapping .get (Long .parseLong (fromPointElement .getAttribute ("id" )));
195- long toPointID = PanelIO .idMapping .get (Long .parseLong (toPointElem .getAttribute ("id" )));
196-
208+
209+ // select only the paint components to check ID
210+ long fromPointID = PanelIO .idMapping .get (Long
211+ .parseLong (fromPointElement .getAttribute ("id" )));
212+ long toPointID = PanelIO .idMapping .get (Long .parseLong (toPointElem
213+ .getAttribute ("id" )));
214+
197215 for (PaintComponent paintComponent : paintComponents ) {
198- if (paintComponent .getComponentID () == fromPointID ){
216+ if (paintComponent .getComponentID () == fromPointID ) {
199217 fromPoint = (SimplePoint ) paintComponent ;
200- } else if (paintComponent .getComponentID () == toPointID ){
201- toPoint = (SimplePoint ) paintComponent ;
218+ } else if (paintComponent .getComponentID () == toPointID ) {
219+ toPoint = (SimplePoint ) paintComponent ;
202220 }
203221 }
204222 }
205-
206223
207224}
0 commit comments