Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void intersection(AbstractImage image1, AbstractImage image2) {
- Iterator<NodeState> it1 = image1.iterator();
- Iterator<NodeState> it2 = image2.iterator();
- Iterator<NodeState> it3 = this.iterator();
- it3.clear();
- if (!it1.isEmpty() && !it2.isEmpty()){
- intersectionR(it1, it2, it3);
- }
- }
- private void intersectionR(Iterator<NodeState> it1, Iterator<NodeState> it2, Iterator<NodeState> itThis) {
- if (!it1.isEmpty() && !it2.isEmpty()){
- NodeState ns1 = it1.getValue();
- NodeState ns2 = it2.getValue();
- if (ns1.equals(NodeState.valueOf(0)) || ns2.equals(NodeState.valueOf(0))) {
- itThis.addValue(NodeState.valueOf(0));
- }
- else if (ns1.equals(NodeState.valueOf(1)) && ns2.equals(NodeState.valueOf(1))) {
- itThis.addValue(NodeState.valueOf(1));
- }
- else if (ns1.equals(NodeState.valueOf(2)) && ns2.equals(NodeState.valueOf(2))) {
- itThis.addValue(NodeState.valueOf(2));
- }
- else {
- itThis.addValue(NodeState.valueOf(2));
- if (ns1.equals(NodeState.valueOf(1))) {
- it1.goLeft();
- it1.addValue(NodeState.valueOf(1));
- it1.goUp();
- it1.goRight();
- it1.addValue(NodeState.valueOf(1));
- it1.goUp();
- } else {
- it2.goLeft();
- it2.addValue(NodeState.valueOf(1));
- it2.goUp();
- it2.goRight();
- it2.addValue(NodeState.valueOf(1));
- it2.goUp();
- }
- }
- it1.goLeft();
- it2.goLeft();
- itThis.goLeft();
- intersectionR(it1, it2, itThis);
- it1.goUp();
- it2.goUp();
- itThis.goUp();
- it1.goRight();
- it2.goRight();
- itThis.goRight();
- intersectionR(it1, it2, itThis);
- it1.goUp();
- it2.goUp();
- itThis.goUp();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement