55 |
55 |
* @author jmorell, azabala
|
56 |
56 |
*/
|
57 |
57 |
public class DwgLine extends DwgObject
|
58 |
|
implements IDwgExtrusionable, IDwg3DTestable, IDwg2FMap, IDwgBlockMember{
|
|
58 |
implements /*IDwgExtrusionable,*/ IDwg3DTestable, IDwg2FMap, IDwgBlockMember{
|
59 |
59 |
public DwgLine(int index) {
|
60 |
60 |
super(index);
|
61 |
61 |
// TODO Auto-generated constructor stub
|
... | ... | |
243 |
243 |
DwgFile callBack) {
|
244 |
244 |
DwgLine transformedEntity = null;
|
245 |
245 |
double[] p1 = this.getP1();
|
|
246 |
if(p1.length < 3)
|
|
247 |
{
|
|
248 |
double[] newp1 = new double[3];
|
|
249 |
System.arraycopy(p1, 0, newp1, 0, p1.length);
|
|
250 |
p1 = newp1;
|
|
251 |
setP1(newp1);
|
|
252 |
}
|
246 |
253 |
double[] p2 = this.getP2();
|
|
254 |
if(p2.length < 3)
|
|
255 |
{
|
|
256 |
double[] newp2 = new double[3];
|
|
257 |
System.arraycopy(p2, 0, newp2, 0, p2.length);
|
|
258 |
p2 = newp2;
|
|
259 |
setP2(newp2);
|
|
260 |
}
|
247 |
261 |
Point2D pointAux = new Point2D.Double(p1[0] - bPoint[0], p1[1] - bPoint[1]);
|
248 |
262 |
double laX = insPoint.getX() + ((pointAux.getX()*scale[0])*Math.cos(rot) + (pointAux.getY()*scale[1])*(-1)*Math.sin(rot));
|
249 |
263 |
double laY = insPoint.getY() + ((pointAux.getX()*scale[0])*Math.sin(rot) + (pointAux.getY()*scale[1])*Math.cos(rot));
|
250 |
264 |
double[] transformedP1 = null;
|
251 |
|
if (this.isZflag()) {
|
|
265 |
if (this.isZflag() ) {
|
252 |
266 |
double laZ = p1[2] * scale[2];
|
253 |
267 |
transformedP1 = new double[]{laX, laY, laZ};
|
254 |
268 |
} else {
|
255 |
|
transformedP1 = new double[]{laX, laY};
|
|
269 |
transformedP1 = new double[]{laX, laY, 0d};
|
256 |
270 |
}
|
257 |
271 |
//double[] transformedP1 = new double[]{laX, laY};
|
258 |
272 |
pointAux = new Point2D.Double(p2[0] - bPoint[0], p2[1] - bPoint[1]);
|
259 |
273 |
laX = insPoint.getX() + ((pointAux.getX()*scale[0])*Math.cos(rot) + (pointAux.getY()*scale[1])*(-1)*Math.sin(rot));
|
260 |
274 |
laY = insPoint.getY() + ((pointAux.getX()*scale[0])*Math.sin(rot) + (pointAux.getY()*scale[1])*Math.cos(rot));
|
261 |
275 |
double[] transformedP2 = null;
|
262 |
|
if (this.isZflag()) {
|
|
276 |
if (this.isZflag() ) {
|
263 |
277 |
double laZ = p2[2] * scale[2];
|
264 |
278 |
transformedP2 = new double[]{laX, laY, laZ};
|
265 |
279 |
} else {
|
266 |
|
transformedP2 = new double[]{laX, laY};
|
|
280 |
transformedP2 = new double[]{laX, laY, 0d};
|
267 |
281 |
}
|
268 |
282 |
//double[] transformedP2 = new double[]{laX, laY};
|
269 |
283 |
transformedEntity = (DwgLine)this.clone();
|