public class TLspLOSCoveragePainter extends Object implements ILspEditableStyledPainter, ILspStyleChangeListener
A painter that paints
ILcdLOSCoverageMatrix instances, which is the result of
This painter can be used in a lightspeed view to paint any
This painter will use its
to style the
ILcdLOSCoverageMatrix instances. Each coverage matrix needs to be styled
LOS coverage style in
order to be painted.
LOS coverage matrix instances that don't have a matching
not be painted, and the painter will log a warning if this occurs.
It is possible to use an
ALspStyleTargetProvider to convert any
domain object into an
ILcdLOSCoverageMatrix, but the painter assumes that only one
coverage matrix is painted per domain object.
This painter handles style changes and object changes in a synchronous way.
This painter takes a read lock on the model containing the
ILcdLOSCoverageMatrix instances while
Users of this painter should take care to
this model while updating the LOS coverage matrix instances it contains.
|Constructor and Description|
|Modifier and Type||Method and Description|
Called when the changes for a specified event should be committed.
Returns the minimum required OpenGL profile that a view must support in order to be compatible with this painter.
Returns the styler used by this painter for the given
Paints the specified groups of objects into a view.
Called when the paint groups will change.
Retrieves a set of domain objects and data based on the parameters given by the query.
Registers a layer with this painter.
Sets the styler used by this object for the given
Called by the styler when a change in style occurs.
Unregisters a layer from this painter.
public TLspOpenGLProfile getRequiredOpenGLProfile()
public TLspPaintProgress paintObjects(ILcdGLDrawable aGLDrawable, List<TLspPaintGroup> aPaintGroups, TLspPaintPass aPass, TLspContext aContext)
Paints the specified groups of objects into a view. The objects are partitioned into
TLspPaintGroups, which are created by the layer which invoked this painter.
Painters are advised to also implement
which allows them to keep track of changes to the supplied list of paint groups. This
way, the painter can exploit temporal coherence and perform its work in the most optimal
This method returns a
TLspPaintProgress which describes the completeness of the
paint operation. If the painter scheduled one or more tasks to be executed asynchronously,
it may return from its
paintObjects() method before having rendered all the objects
it was given. In this case, the returned progress object can describe the amount of work that
has been done and the work that is still remaining.
ILcdGLDrawablein which the objects are to be painted
aPaintGroups- the objects to be painted
aPass- the current paint pass
aContext- provides context information to the painter
TLspPaintProgressobject describing the completeness of the paint operation
public <T> boolean query(List<TLspPaintGroup> aPaintGroups, ALspPaintQuery<T> aQuery, TLspPaintRepresentationState aPaintRepresentationState, TLspContext aContext)
public void prepareChanges(List<TLspPaintGroupsChangedEvent> aEvents, Object aEventId, ILspPaintGroupsChangeListener.Callback aCallback)
ILspPaintGroupsChangeListener.Callback.changesReady(java.lang.Object)method must be invoked when the listener is ready to commit the changes. If
nullthen the changes may be committed immediately. In this case there will be no call to
Note that it is not mandatory to do this two-phased commit cycle. You may commit or apply the changes immediately, but you still must invoke the callback.
public void commitChanges(Object aEventId)
public void styleChanged(TLspStyleChangeEvent aEvent)
public ILspStyler getStyler(TLspPaintState aPaintState)
PaintState. Can return null in case the painter does not use or expose a styler.
public void setStyler(TLspPaintState aPaintState, ILspStyler aStyler)
public void registerLayer(ILspInteractivePaintableLayer aLayer, TLspPaintRepresentation aPaintRepresentation)
public void unregisterLayer(ILspInteractivePaintableLayer aLayer, TLspPaintRepresentation aPaintRepresentation)
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListenerto the list of listeners that must be notified when any of the properties of this
public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListenerfrom the list of listeners. This listener will no longer be notified of any changes to the properties of this