X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.g3d.shapeeditor%2Fsrc%2Forg%2Fsimantics%2Fproconf%2Fg3d%2Fshapeeditor%2Fcommon%2FViewpointGenerator.java;fp=org.simantics.g3d.shapeeditor%2Fsrc%2Forg%2Fsimantics%2Fproconf%2Fg3d%2Fshapeeditor%2Fcommon%2FViewpointGenerator.java;h=0000000000000000000000000000000000000000;hb=6b6fcff5d6c326feef07ccf8401f97911778fffe;hp=fbae87e4703f54ca77b246905ce7c9109ecec38a;hpb=504c111db40d78f4913badddd126b283b5504dbb;p=simantics%2F3d.git diff --git a/org.simantics.g3d.shapeeditor/src/org/simantics/proconf/g3d/shapeeditor/common/ViewpointGenerator.java b/org.simantics.g3d.shapeeditor/src/org/simantics/proconf/g3d/shapeeditor/common/ViewpointGenerator.java deleted file mode 100644 index fbae87e4..00000000 --- a/org.simantics.g3d.shapeeditor/src/org/simantics/proconf/g3d/shapeeditor/common/ViewpointGenerator.java +++ /dev/null @@ -1,196 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007- VTT Technical Research Centre of Finland. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.proconf.g3d.shapeeditor.common; - -import java.util.Collection; - -import org.simantics.db.Builtins; -import org.simantics.db.Resource; -import org.simantics.layer0.utils.Statement; -import org.simantics.layer0.utils.IEntity; -import org.simantics.layer0.utils.viewpoints.AcceptDecision; -import org.simantics.layer0.utils.viewpoints.AcceptRule; -import org.simantics.layer0.utils.viewpoints.PlainStateFactory; -import org.simantics.layer0.utils.viewpoints.ResourceViewpoint; -import org.simantics.layer0.utils.viewpoints.State; -import org.simantics.layer0.utils.viewpoints.StateFactory; -import org.simantics.layer0.utils.viewpoints.TraversalDecision; -import org.simantics.layer0.utils.viewpoints.TraversalRule; -import org.simantics.layer0.utils.viewpoints.rules.AcceptAllResourceAcceptRule; -import org.simantics.proconf.g3d.shapeeditor.ShapeEditorResources; - - -public class ViewpointGenerator { - - public static ResourceViewpoint createStuctureViewpoint() { - StateFactory f = new PlainStateFactory(); - final State rootState = f.newState(); - final State projectState = f.newState(); - final State libraryState = f.newState(); - - return new ResourceViewpoint(new TraversalRule() { - @Override - public TraversalDecision makeTraversalDecision(State state, - Statement statement) { - Builtins b = statement.getGraph().getBuiltins(); - if (state.equals(rootState)) { - if (!statement.getPredicate().equals(b.ConsistsOf)) - return TraversalDecision.stopTraversal; - //if (!statement.getObject().isInstanceOf(b.Project)) - // return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(projectState); - } else if (state.equals(projectState)) { - if (!statement.getPredicate().equals(b.ConsistsOf)) - return TraversalDecision.stopTraversal; - //if (!statement.getObject().isInstanceOf(b.Library)) - // return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(libraryState); - } else if (state.equals(libraryState)) { - if (!statement.getPredicate().equals(b.ConsistsOf) - && !statement.getPredicate().isSubrelationOf( - ShapeEditorResources.g3dResource.HasChild)) - return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(libraryState); - } - return TraversalDecision.stopTraversal; - } - - @Override - public boolean areAllStatesRelevant() { - return true; - } - - @Override - public Collection relevantStates() { - return null; - } - }, new AcceptAllResourceAcceptRule(), rootState); - } - - public static ResourceViewpoint createObjectStructureViewpoint() { - StateFactory f = new PlainStateFactory(); - final State rootState = f.newState(); - - return new ResourceViewpoint(new TraversalRule() { - @Override - public TraversalDecision makeTraversalDecision(State state, - Statement statement) { - if (state.equals(rootState)) { - if (!statement.getPredicate().isSubrelationOf( - ShapeEditorResources.g3dResource.HasChild)) - return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(rootState); - } - return TraversalDecision.stopTraversal; - } - - @Override - public boolean areAllStatesRelevant() { - return true; - } - - @Override - public Collection relevantStates() { - return null; - } - }, new AcceptAllResourceAcceptRule(), rootState); - } - - public static ResourceViewpoint createObjectSizingParameterViewpoint(Resource modelToParameterRelation) { - StateFactory f = new PlainStateFactory(); - final State rootState = f.newState(); - final State endState = f.newState(); - final Resource relation = modelToParameterRelation; - - return new ResourceViewpoint(new TraversalRule() { - @Override - public TraversalDecision makeTraversalDecision(State state, - Statement statement) { - if (state.equals(rootState)) { - if (!statement.getPredicate().isSubrelationOf(relation)) - return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(endState); - } - return TraversalDecision.stopTraversal; - } - - @Override - public boolean areAllStatesRelevant() { - return true; - } - - @Override - public Collection relevantStates() { - return null; - } - }, new AcceptAllResourceAcceptRule(), rootState); - } - - public static ResourceViewpoint createViewpoint() { - StateFactory f = new PlainStateFactory(); - final State rootState = f.newState(); - final State projectState = f.newState(); - final State libraryState = f.newState(); - - return new ResourceViewpoint(new TraversalRule() { - @Override - public TraversalDecision makeTraversalDecision(State state, Statement statement) { - Builtins b = statement.getGraph().getBuiltins(); - if (state.equals(rootState)) { - if (statement.getObject().isInstanceOf(b.Ontology)) - return TraversalDecision.stopTraversal; - if(!statement.getPredicate().equals(b.ConsistsOf)) - return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(projectState); - } else if (state.equals(projectState)) { - if(!statement.getPredicate().equals(b.ConsistsOf)) - return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(libraryState); - } else if (state.equals(libraryState)) { - if(!statement.getPredicate().equals(b.ConsistsOf)) - return TraversalDecision.stopTraversal; - return TraversalDecision.continueTraversal(libraryState); - } - return TraversalDecision.stopTraversal; - } - - @Override - public boolean areAllStatesRelevant() { - return true; - } - - @Override - public Collection relevantStates() { - return null; - } - }, new AcceptRule() { - @Override - public AcceptDecision makeAcceptDecision(State state, IEntity obj) { - Builtins b = obj.getGraph().getBuiltins(); - //NOSEResource nr = NOSEResource.getInstance(obj.getGraph()); - if(obj.isInstanceOf(b.Project)) return AcceptDecision.REJECT; - else if (obj.isInstanceOf(b.Ontology)) return AcceptDecision.REJECT; - else return AcceptDecision.ACCEPT; - } - - @Override - public boolean areAllStatesRelevant() { - return true; - } - - @Override - public Collection relevantStates() { - return null; - } - }, rootState); - } - -}