public Constraint(Constraint c)
 {
     localAttributes = c.localAttributes;
     remoteAttributes = c.remoteAttributes;
     parentTable = c.parentTable;
     remoteTable = c.remoteTable;
     sName = c.sName;
     type =c.type;
     obj_bb = c.obj_bb;
     obj_pos = c.obj_pos;
     orth_points = c.orth_points;
     orth_orient = c.orth_orient;
 }
 public Constraint(string pName, string ptype)
 {
     parentTable = new PointerTable("");
     remoteTable = new PointerTable("");
     sName = pName;
     if (ptype.ToUpper() == "FOREIGN KEY") {
         type = eType.eForeignKey;
     } else if (ptype.ToUpper() == "PRIMARY KEY") {
         type = eType.ePrimaryKey;
     } else if (ptype.ToUpper() == "KEY") {
         type = eType.eKey;
     } else if (ptype.ToUpper() == "UNIQUE") {
         type = eType.eUnique;
     }
 }
 public void setRemoteColumns(string ParentTable, string RemoteTable, List<string> columns)
 {
     remoteAttributes.Clear();
     parentTable = new PointerTable(ParentTable);
     remoteTable = new PointerTable(RemoteTable);
     foreach (string it in columns) {
         remoteAttributes.Add(new PointerAttribute(RemoteTable, it));
     }
 }