This is an automated email from the ASF dual-hosted git repository.
jsorel pushed a commit to branch geoapi-4.0
in repository https://gitbox.apache.org/repos/asf/sis.git
The following commit(s) were added to refs/heads/geoapi-4.0 by this push:
new 106873efb3 Add javadoc on Scene2D and StylePainter
106873efb3 is described below
commit 106873efb3843fd72581258790cb79c39201f7ac
Author: jsorel <[email protected]>
AuthorDate: Fri Mar 8 11:05:25 2024 +0100
Add javadoc on Scene2D and StylePainter
---
.../main/org/apache/sis/map/service/Scene2D.java | 12 +++++++++-
.../org/apache/sis/map/service/StylePainter.java | 28 +++++++++++++++++++++-
2 files changed, 38 insertions(+), 2 deletions(-)
diff --git
a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java
index 95060330c8..98ff1e4107 100644
---
a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java
+++
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/Scene2D.java
@@ -55,18 +55,28 @@ public final class Scene2D {
*/
private double dpi = 96;
+ /**
+ * @param grid scene domain
+ * @param graphics to paint with
+ */
public Scene2D(GridGeometry grid, Graphics2D graphics) {
this.grid = Objects.requireNonNull(grid);
this.graphics = Objects.requireNonNull(graphics);
}
+ /**
+ * Graphics2D to use for painting data.
+ * This instance should be left untouched.
+ *
+ * @return Graphics2D
+ */
public Graphics2D getGraphics() {
return graphics;
}
/**
* Set current rendering DPI.
- * Default is 99.
+ * Default is 96.
*
* @param dpi new DPI
*/
diff --git
a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/StylePainter.java
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/StylePainter.java
index e7e0532c5d..4a41426485 100644
---
a/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/StylePainter.java
+++
b/incubator/src/org.apache.sis.portrayal.map/main/org/apache/sis/map/service/StylePainter.java
@@ -24,15 +24,41 @@ import org.apache.sis.style.Style;
/**
+ * A Painter is responsible for portraying and querying resource on a scene.
+ *
+ * Currently the API only support stateless rendering.
*
* @author Johann Sorel (Geomatys)
*/
public interface StylePainter {
+ /**
+ * Get the supported style implementation this painter can portray.
+ *
+ * @return supported style class.
+ */
Class<? extends Style> getStyleClass();
- void paint(Scene2D scene, MapLayer layer);
+ /**
+ * Stateless portraying og the given map layer.
+ *
+ * @param scene parameters for rendering
+ * @param layer having supported style class.
+ * @throws RenderingException if an error occured while rendering
+ */
+ void paint(Scene2D scene, MapLayer layer) throws RenderingException;
+ /**
+ * Search for elements in the scene which intersect the given area.
+ *
+ * Any exception should be returned in the stream as
ExceptionPresentations, this allows
+ * to still have some results even if a data caused an error.
+ *
+ * @param scene parameters of the scene
+ * @param layer to seach in
+ * @param mask to search for intersection
+ * @return a stream of presentation instances that intersect the searched
area.
+ */
Stream<Presentation> intersects(Scene2D scene, MapLayer layer, Shape mask);
}