Browse Source

- add remaining filter types

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7713 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
nor..67 14 years ago
parent
commit
57d7d9654c

+ 83 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/JmeColorOverlayFilter.java

@@ -0,0 +1,83 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
+import com.jme3.math.ColorRGBA;
+import com.jme3.post.filters.ColorOverlayFilter;
+import org.openide.loaders.DataObject;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = FilterNode.class)
+public class JmeColorOverlayFilter extends AbstractFilterNode {
+
+    public JmeColorOverlayFilter() {
+    }
+
+    public JmeColorOverlayFilter(ColorOverlayFilter filter, DataObject object, boolean readOnly) {
+        super(filter);
+        this.dataObject = object;
+        this.readOnly = readOnly;
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = super.createSheet();
+        Sheet.Set set = Sheet.createPropertiesSet();
+        set.setDisplayName("ColorOverlay");
+        set.setName(Node.class.getName());
+        ColorOverlayFilter obj = (ColorOverlayFilter) filter;
+        if (obj == null) {
+            return sheet;
+        }
+        set.put(makeProperty(obj, ColorRGBA.class, "getColor", "setColor", "Color"));
+        sheet.put(set);
+        return sheet;
+
+    }
+
+    @Override
+    public Class<?> getExplorerObjectClass() {
+        return ColorOverlayFilter.class;
+    }
+
+    @Override
+    public Node[] createNodes(Object key, DataObject dataObject, boolean readOnly) {
+        return new Node[]{new JmeColorOverlayFilter((ColorOverlayFilter) key, dataObject, readOnly)};
+    }
+}

+ 94 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/JmeCrossHatchFilter.java

@@ -0,0 +1,94 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
+import com.jme3.math.ColorRGBA;
+import com.jme3.post.filters.CrossHatchFilter;
+import org.openide.loaders.DataObject;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = FilterNode.class)
+public class JmeCrossHatchFilter extends AbstractFilterNode {
+
+    public JmeCrossHatchFilter() {
+    }
+
+    public JmeCrossHatchFilter(CrossHatchFilter filter, DataObject object, boolean readOnly) {
+        super(filter);
+        this.dataObject = object;
+        this.readOnly = readOnly;
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = super.createSheet();
+        Sheet.Set set = Sheet.createPropertiesSet();
+        set.setDisplayName("CrossHatch");
+        set.setName(Node.class.getName());
+        CrossHatchFilter obj = (CrossHatchFilter) filter;
+        if (obj == null) {
+            return sheet;
+        }
+        set.put(makeProperty(obj, float.class, "getColorInfluenceLine", "setColorInfluenceLine", "Color Influence Line"));
+        set.put(makeProperty(obj, float.class, "getColorInfluencePaper", "setColorInfluencePaper", "Color Influence Paper"));
+        set.put(makeProperty(obj, float.class, "getFillValue", "setFillValue", "Fill Value"));
+        set.put(makeProperty(obj, ColorRGBA.class, "getPaperColor", "setPaperColor", "Paper Color"));
+        set.put(makeProperty(obj, ColorRGBA.class, "getLineColor", "setLineColor", "Line Color"));
+        set.put(makeProperty(obj, float.class, "getLineDistance", "setLineDistance", "Line Distance"));
+        set.put(makeProperty(obj, float.class, "getLineThickness", "setLineThickness", "Line Thickness"));
+        set.put(makeProperty(obj, float.class, "getLuminance1", "setLuminance1", "Luminance1"));
+        set.put(makeProperty(obj, float.class, "getLuminance2", "setLuminance2", "Luminance2"));
+        set.put(makeProperty(obj, float.class, "getLuminance3", "setLuminance3", "Luminance3"));
+        set.put(makeProperty(obj, float.class, "getLuminance4", "setLuminance4", "Luminance4"));
+        set.put(makeProperty(obj, float.class, "getLuminance5", "setLuminance5", "Luminance5"));
+        sheet.put(set);
+        return sheet;
+
+    }
+
+    @Override
+    public Class<?> getExplorerObjectClass() {
+        return CrossHatchFilter.class;
+    }
+
+    @Override
+    public Node[] createNodes(Object key, DataObject dataObject, boolean readOnly) {
+        return new Node[]{new JmeCrossHatchFilter((CrossHatchFilter) key, dataObject, readOnly)};
+    }
+}

+ 84 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/JmePosterizationFilter.java

@@ -0,0 +1,84 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.AbstractFilterNode;
+import com.jme3.gde.core.filters.FilterNode;
+import com.jme3.post.filters.PosterizationFilter;
+import org.openide.loaders.DataObject;
+import org.openide.nodes.Node;
+import org.openide.nodes.Sheet;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = FilterNode.class)
+public class JmePosterizationFilter extends AbstractFilterNode {
+
+    public JmePosterizationFilter() {
+    }
+
+    public JmePosterizationFilter(PosterizationFilter filter, DataObject object, boolean readOnly) {
+        super(filter);
+        this.dataObject = object;
+        this.readOnly = readOnly;
+    }
+
+    @Override
+    protected Sheet createSheet() {
+        Sheet sheet = super.createSheet();
+        Sheet.Set set = Sheet.createPropertiesSet();
+        set.setDisplayName("Posterization");
+        set.setName(Node.class.getName());
+        PosterizationFilter obj = (PosterizationFilter) filter;
+        if (obj == null) {
+            return sheet;
+        }
+        set.put(makeProperty(obj, float.class, "getGamma", "setGamme", "Gamma"));
+        set.put(makeProperty(obj, int.class, "getNumColors", "setNumColors", "Color Number"));
+        set.put(makeProperty(obj, float.class, "getStrength", "setStrength", "Strength"));
+        sheet.put(set);
+        return sheet;
+
+    }
+
+    @Override
+    public Class<?> getExplorerObjectClass() {
+        return PosterizationFilter.class;
+    }
+
+    @Override
+    public Node[] createNodes(Object key, DataObject dataObject, boolean readOnly) {
+        return new Node[]{new JmePosterizationFilter((PosterizationFilter) key, dataObject, readOnly)};
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewColorOverlayFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.ColorOverlayFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewColorOverlayFilterAction extends AbstractNewFilterAction {
+
+    public NewColorOverlayFilterAction() {
+        name = "ColorOverlay";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new ColorOverlayFilter();
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewCrossHatchFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.CrossHatchFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewCrossHatchFilterAction extends AbstractNewFilterAction {
+
+    public NewCrossHatchFilterAction() {
+        name = "CrossHatch";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new CrossHatchFilter();
+    }
+}

+ 54 - 0
jme3-core/src/com/jme3/gde/core/filters/impl/NewPosterizationFilterAction.java

@@ -0,0 +1,54 @@
+/*
+ *  Copyright (c) 2009-2010 jMonkeyEngine
+ *  All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are
+ *  met:
+ * 
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ *  * Neither the name of 'jMonkeyEngine' nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ *  TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.jme3.gde.core.filters.impl;
+
+import com.jme3.gde.core.filters.actions.AbstractNewFilterAction;
+import com.jme3.gde.core.filters.actions.NewFilterAction;
+import com.jme3.post.Filter;
+import com.jme3.post.filters.PosterizationFilter;
+
+/**
+ *
+ * @author normenhansen
+ */
[email protected](service = NewFilterAction.class)
+public class NewPosterizationFilterAction extends AbstractNewFilterAction {
+
+    public NewPosterizationFilterAction() {
+        name = "Posterization";
+    }
+
+    @Override
+    protected Filter doCreateFilter() {
+        return new PosterizationFilter();
+    }
+}