annotate artifacts/src/main/java/org/dive4elements/river/artifacts/WaterLineArtifact.java @ 7471:fff862f4ef76

Experimental caching of datacage recommendations. The respective hook is called a lot and running the datacage over and over again when loading data can be expensive. So the generated recommendations are cached for some time. Hopefully this improves the overall speed of loading data from the datacage.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 30 Oct 2013 15:26:21 +0100
parents af13ceeba52a
children 3f49835a00c3
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
5994
af13ceeba52a Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5863
diff changeset
6 * documentation coming with Dive4Elements River for details.
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4478
diff changeset
9 package org.dive4elements.river.artifacts;
1980
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
10
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4478
diff changeset
11 import org.dive4elements.artifacts.CallContext;
4478
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
12
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4478
diff changeset
13 import org.dive4elements.river.artifacts.geom.Lines;
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 4478
diff changeset
14 import org.dive4elements.river.model.FastCrossSectionLine;
4478
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
15
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
16
1980
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
17 /**
2120
f021080cb409 Use improved caching for cross section lines data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1980
diff changeset
18 * Interface, Artifact can create WaterLines (Water against Cross-Profile).
1980
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
19 */
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
20 public interface WaterLineArtifact {
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
21
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
22 /** Get points that define a line of a (water)facet against a cross-
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
23 * section. */
4478
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
24 public Lines.LineData getWaterLines(
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
25 int facetIdx,
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
26 FastCrossSectionLine csl,
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
27 double d,
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
28 double w,
6153c50f78cf WaterLineArtifact: Added callcontext-parameter to interfaces getWaterLine.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 3272
diff changeset
29 CallContext context);
1980
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
30 }
d377b89d2827 Added WaterLineArtifact Interface.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff changeset
31 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org