Commit 90c18bf9 authored by Rohan  Kumar's avatar Rohan Kumar
Browse files

"push"

parent e354b6dd
Loading
Loading
Loading
Loading

.idea/uiDesigner.xml

0 → 100644
+124 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Palette2">
    <group name="Swing">
      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
      </item>
      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
        <initial-values>
          <property name="text" value="Button" />
        </initial-values>
      </item>
      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="RadioButton" />
        </initial-values>
      </item>
      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="CheckBox" />
        </initial-values>
      </item>
      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
        <initial-values>
          <property name="text" value="Label" />
        </initial-values>
      </item>
      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
          <preferred-size width="150" height="-1" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
          <preferred-size width="150" height="50" />
        </default-constraints>
      </item>
      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
          <preferred-size width="200" height="200" />
        </default-constraints>
      </item>
      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
      </item>
      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
      </item>
      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
          <preferred-size width="-1" height="20" />
        </default-constraints>
      </item>
      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
      </item>
      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
      </item>
    </group>
  </component>
</project>
 No newline at end of file

vslam/ObjectMart.java

deleted100644 → 0
+0 −15
Original line number Diff line number Diff line
package vslam;

public class ObjectMart {
    UnionFind objects = new UnionFind();

    public static void main(String[] args){

        /* infinite loop of running system:
        1) Get new info from system
        2) Update UnionFind
        3) Push new update to database if necessary
         */

    }
}

vslam/UnionFind.java

deleted100644 → 0
+0 −64
Original line number Diff line number Diff line
package vslam;


import java.util.*;

public class UnionFind {

    List<PointSet> disjointSets;
    public UnionFind(){
        disjointSets = new ArrayList<>();
    }

    public void makeSet(Point ...pp){
        PointSet ps = new PointSet();
        ps.addAll(pp);

        disjointSets.add(ps);
    }

    public Set<Point> findSet(Point p){
        Set<Point> l = p.getReps();
        if(!l.isEmpty()){
            return p.getReps();
        }
        else{
            throw new NullPointerException();
        }
    }

    public boolean union(int i, int j){
        Set<Point> l1 = disjointSets.get(i).getSetReps();
        Set<Point> l2 = disjointSets.get(j).getSetReps();

        int count = 0;
        for(Point r1 : l1){
            if(l2.contains(r1)){
                count++;
            }
        }

        if(count < (l1.size()*0.8)) {
            return false;
        }

        // merge the two sets together using union
        // HERE, CAN ADD PATH COMPRESSION, ETC LATER ON

        // create new pointset, fill with both set of points
        PointSet un = new PointSet();
        un.addAll(disjointSets.get(i).getPoints());
        un.addAll(disjointSets.get(j).getPoints());

        // need to implement this part
        un.updateReps();

        // add to disjoint set, remove originals
        disjointSets.add(un);
        disjointSets.remove(i);
        disjointSets.remove(j);

        return true;
    }

}
 No newline at end of file
+41 −0
Original line number Diff line number Diff line
package vslam.object_detection;

public class ObjectDetector {
    static ObjectSet os;

    public static void main(String[] args){

        /* infinite loop of running system:
        1) Get new info from system
        2) Update UnionFind
        3) Push new update to database if necessary
         */

        // create objectset
        os = new ObjectSet();

        // Add two test sets
        int o1 = os.makeObject(
            new Point(0,10,0),
            new Point(0,0,0),
            new Point(10, 0, 0),
            new Point(10, 10, 0)
        );

        int o2 = os.makeObject(
            new Point(5,5,0),
            new Point(5,15,0),
            new Point(15, 5, 0),
            new Point(15, 15, 0)
        );

        System.out.println("Added two test points to ObjectSet");

        // test out compare
        boolean same = ObjectSet.compareObjects(o1, o2);
        if(same){
            os.combineObjects(o1, o2);
            System.out.println("Combining object 1 and 2");
        }
    }
}
+70 −0
Original line number Diff line number Diff line
package vslam.object_detection;


import java.util.*;

public class ObjectSet {

    static List<PointSet> objects;
    public ObjectSet(){
        objects = new ArrayList<>();
    }

    /**
     * This method is used to create a new object (or candidate), that will then be compared to others
     * @param pp : the points that will be used as features
     * @return : the index of this object, so we can quickly add and remove objects from list
     */
    public int makeObject(Point ...pp){
        PointSet ps = new PointSet();
        ps.addAll(pp);

        objects.add(ps);

        // return index of new object
        return (objects.size()-1);
    }

    /**
     * We compare two objects
     * @param i : should be the already in database object
     * @param j : the new candidate object
     * @return true if objects are the same
     */
    public static boolean compareObjects(int i, int j){
        Point[] r1 = objects.get(i).getSetReps();
        Point[] r2 = objects.get(j).getSetReps();

        // compare r1 and r2
        Set<Point> s = new HashSet<>(List.of(r1));
        int count = 0;
        for(Point p : r2){
            if(s.contains(p)){
                count++;
            }
        }

        // in this line, if the reps are 80% similar, assume this is the same set.
        return (count) > (r1.length*0.8);
    }

    /**
     * This function merges object j into object i (these are indexes in objects set)
     * @param i : current object in list
     * @param j : new object to be combined into i
     */
    public void combineObjects(int i, int j){

        // add all points of j to i
        objects.get(i).addAll(objects.get(j).getPoints());

        // redo reps of the object with new points
        objects.get(i).updateReps();

        // remove j
        objects.remove(j);

        // eventually, push i to database
    }

}
 No newline at end of file
Loading