Module graph

Interface ContextDependent

All Known Subinterfaces:
BSplineCurve, BSplineCurveList, BSplineSurface, Polygons, VertexGrid, VertexList, VertexSet
All Known Implementing Classes:
Arc, BezierCurve, BezierSurface, BSplineCurveImpl, BSplineOfVertices, BSplineSurfaceImpl, Circle, Circular, Connection, ContextDependentBase, Curve, CurveRef, CurveSequence, Ellipse, ExtendedSweep, ExtrudedSurface, GRSMesh, HeightField, Helix, ImageHeightField, IsoCurve, NetworkHeightField, PolygonMesh, PolygonMeshArray, PolygonsBase, ProductSurface, ProfileSweep, RegularPolygon, RuledSurface, Sequence, SkinnedSurface, StraightLine, SubGrid, SurfaceRef, Sweep, SweepSequence, SwungSurface, VertexGridImpl, VertexListImpl, VertexSequence, VertexSetBase

public interface ContextDependent
This interface is implemented by attribute values and other objects whose semantics may depend on the object context of the current GraphState. It is used as part of a caching mechanism (see Cache) in order to determine if the context has changed or not.

As an example, consider a shape attribute of a node in a graph: It could be a polyline starting at this node (which constitutes the object context) and connecting all node positions downwards to the root. Thus, the semantics (a polyline connecting node positions) depends on the context (the node to start with and its ancestors in the graph).

Author:
Ole Kniemeyer
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Determines whether this object actually depends on context.
    void
    Writes a stamp of the context into cache.
  • Method Details

    • dependsOnContext

      boolean dependsOnContext()
      Determines whether this object actually depends on context.
      Returns:
      true iff this object depends on context
    • writeStamp

      void writeStamp(Cache.Entry cache, GraphState gs)
      Writes a stamp of the context into cache. Based on this stamp, a cache detects whether the context of this object has changed or not.
      Parameters:
      cache - a cache entry to write the stamp
      gs - the current graph state