From 1939acb5eeca2792e93a0e236ed2f4a60b4d4008 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Wed, 25 Jun 2008 19:24:44 +0800 Subject: [PATCH] update for EOFM-127 --- xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java | 98 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 98 insertions(+), 0 deletions(-) diff --git a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java index 8a959dc..fbab7cd 100644 --- a/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java +++ b/xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java @@ -184,9 +184,24 @@ // return factory.createMultiPoint(coords.toCoordinateArray()); } + public int getTotalWords() + { + return (raw[18] & 0x0000ffff); + } + + public void setTotalWords(int value) + { + raw[18] = (short) (value & 0x0000ffff); + } + public int getNumString() { return (raw[19] & 0x0000ffff); + } + + public void setNumString(int value) + { + raw[19] = (short) (value & 0x0000ffff); } public int getNodeNumber() @@ -194,9 +209,19 @@ return (raw[20] & 0x0000ffff); } + public void setNodeNumber(int value) + { + raw[20] = (short) (value & 0x0000ffff); + } + public int getMaxLength() { return (raw[21] & 0x00ff); + } + + public void setMaxLength(int value) + { + raw[21] = (short) ((value & 0x00ff) | (raw[21] & 0xff00)); } public int getMaxUsed() @@ -204,14 +229,29 @@ return ((raw[21] >> 8) & 0x00ff); } + public void setMaxUsed(int value) + { + raw[21] = (short) (((value << 8) & 0xff00) | (raw[21] & 0x00ff)); + } + public int getJustification() { return ((raw[22] >> 8) & 0x00ff); } + public void setJustification(int value) + { + raw[22] = (short) (((value << 8) & 0xff00) | (raw[22] & 0x00ff)); + } + public int getFontIndex() { return (raw[22] & 0x00ff); + } + + public void setFontIndex(int value) + { + raw[22] = (short) ((value & 0x00ff) | (raw[22] & 0xff00)); } public double getLineSpacing() @@ -220,6 +260,13 @@ lineSpace = ((raw[23] & 0x0000ffff) << 16) | (raw[24] & 0x0000ffff); return lineSpace; + } + + public void setLineSpacing(double value) + { + int temp = (int) (value*1000.0); + raw[23] = (short) ((temp >> 16) & 0x0000ffff); + raw[24] = (short) (temp & 0x0000ffff); } public double getTextNodeLength() @@ -232,6 +279,13 @@ return DgnUtility.converIntToDouble(lengthMult); } + public void setTextNodeLength(double value) + { + int temp = DgnUtility.converDoubleToInt(value); + raw[25] = (short) ((temp >> 16) & 0x0000ffff); + raw[26] = (short) (temp & 0x0000ffff); + } + public double getTextNodeHeight() { int heightMult; @@ -242,12 +296,26 @@ return DgnUtility.converIntToDouble(heightMult); } + public void setTextNodeHeight(double value) + { + int temp = DgnUtility.converDoubleToInt(value); + raw[27] = (short) ((temp >> 16) & 0x0000ffff); + raw[28] = (short) (temp & 0x0000ffff); + } + public double getRotationAngle() { int rotation = (raw[29] << 16 & 0xffff0000); rotation += raw[30]; return DgnUtility.converIntToRotation(rotation); + } + + public void setRotationAngle(double value) + { + int temp = DgnUtility.converRotatioToInt(value); + raw[29] = (short) (temp >> 16 & 0x0000ffff); + raw[30] = (short) (temp & 0x0000ffff); } public Coordinate getOrigin() @@ -262,6 +330,36 @@ return new Coordinate(dx, dy); } + public void setOrigin(Coordinate value) + { + int x = DgnUtility.converCoordToUnit(value.x); + raw[31] = (short) (x >> 16 & 0x0000ffff); + raw[32] = (short) (x & 0x0000ffff); + + int y = DgnUtility.converCoordToUnit(value.y); + raw[33] = (short) (y >> 16 & 0x0000ffff); + raw[34] = (short) (y & 0x0000ffff); + } + + public Object clone() throws CloneNotSupportedException + { + int pos = this.rawBuffer.position(); + this.rawBuffer.position(0); + byte[] rawBytes = this.rawBuffer.array(); + byte[] otherRaw = new byte[rawBytes.length]; + System.arraycopy(rawBytes, 0, otherRaw, 0, rawBytes.length); + this.rawBuffer.position(pos); + + TextNodeElement other = new TextNodeElement(otherRaw); + for (Object o : this) + { + TextElement textElm = (TextElement) o; + other.add(textElm.clone()); + } + + return other; + } + public static class ElementHandler extends Element.ElementHandler { private static ElementHandler instance = null; -- Gitblit v0.0.0-SNAPSHOT