Update of /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7416
Modified Files:
Surface.java
Log Message:
added support for inner surfaces
Index: Surface.java
===================================================================
RCS file: /cvsroot/bprocessor/model/src/net/sourceforge/bprocessor/model/Surface.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** Surface.java 26 Aug 2005 12:15:15 -0000 1.13
--- Surface.java 30 Aug 2005 13:14:01 -0000 1.14
***************
*** 10,13 ****
--- 10,15 ----
import java.util.Iterator;
import java.util.List;
+ import java.util.Set;
+ import java.util.HashSet;
import org.apache.log4j.Logger;
***************
*** 37,40 ****
--- 39,48 ----
private List edges;
+ /** The inner surfaces of this surface (for holes) */
+ private Set innerSurfaces;
+
+ /** Tells if this is an inner surface */
+ private boolean isInner;
+
/**
* Constructor for persistence layer
***************
*** 51,55 ****
--- 59,65 ----
setName(name);
setConstructor(false);
+ setIsInner(false);
setEdges(null);
+ setInnerSurfaces(null);
}
***************
*** 130,133 ****
--- 140,187 ----
this.edges = edges;
}
+
+ /**
+ * Get the inner surfaces
+ * @return The inner surfaces
+ * @hibernate.set
+ * lazy="false"
+ * @hibernate.key
+ * column="SURFACE_ID"
+ * @hibernate.many-to-many
+ * class="net.sourceforge.bprocessor.model.Surface"
+ */
+ public Set getInnerSurfaces() {
+ return innerSurfaces;
+ }
+
+ /**
+ * Set the inner surfaces
+ * @param is The inner surfaces
+ */
+ public void setInnerSurfaces(Set is) {
+ this.innerSurfaces = is;
+ }
+
+ /**
+ * Adds a hole surface to this surface.
+ * @param inner the hole to add.
+ */
+ public void addHole(Surface inner) {
+ if (innerSurfaces == null) {
+ Set initSet = new HashSet();
+ initSet.add(inner);
+ setInnerSurfaces(initSet);
+ } else {
+ innerSurfaces.add(inner);
+ }
+ }
+
+ /**
+ * Removes a hole from this surface
+ * @param inner the hole to remove
+ */
+ public void removeHole(Surface inner) {
+ innerSurfaces.remove(inner);
+ }
/**
***************
*** 146,149 ****
--- 200,220 ----
return null;
}
+
+ /**
+ * Get the whether this is an inner surface.
+ * @return wheter or not this is an inner surface
+ * @hibernate.property
+ */
+ public boolean getIsInner() {
+ return isInner;
+ }
+
+ /**
+ * Set this surface to be an inner surface.
+ * @param isInner whether or not this is an inner surface.
+ */
+ public void setIsInner(boolean isInner) {
+ this.isInner = isInner;
+ }
/**
|