Class TLcyLspStyleCustomizerPanelFactories
A factory class which creates all kinds of ILcyCustomizerPanelFactory
instances, each capable of creating customizer panels which offer a user interface capable of adjusting
a specific kind of style.
Note that before an ALspStyle is provided to a customizer panel
it should be wrapped inside a TLspCustomizableStyle,
which in turn should be wrapped in a TLcyLspCustomizableStyleContext.
This way some additional information is provided to be used by the customizer panels created by the this class's factories.
All the factories can create customizer panels which can handle both a single compatible TLcyLspCustomizableStyleContext object
or an array containing at least one compatible TLcyLspCustomizableStyleContext object. In case such an
array is provided, all compatible TLcyLspCustomizableStyleContext instances will be affected by
the customizer panels. All incompatible instances will be ignored.
This class can create customizer panel factories for the following ALspStyle types:
TLspLineStyleTLspFillStyleTLspIconStyleTLspTextStyleTLspRasterStyleTLspLabelBoxStyleTLspPinLineStyleTLspDataObjectLabelTextProviderStyleTLspDensityLineStyleTLspDensityFillStyleTLspDensityPointStyleTLspIndexColorModelStyleTLspParameterizedLineStyleTLspParameterizedFillStyleTLspParameterizedIconStyle
- Since:
- 2012.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDataObjectLabelTextProviderStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDensityFillStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDensityLineStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDensityPointStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspFillStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped aroundTLspCustomizableStyleableStyle containing aTLspIconStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspImageProcessingStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspIndexColorModelStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspLabelBoxStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspLineStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspParameterizedFillStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspParameterizedIconStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspParameterizedLineStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspPinLineStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspPointCloudStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspRasterStyle.static ILcyCustomizerPanelFactoryCreate a newILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspTextStyle.
-
Method Details
-
createLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspLineStyle.The customizer panel create by this factory only supports
TLspLineStyle.DashPatterninstances where the stipple pattern is one of the predefined patterns inTLspLineStyle.DashPattern.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for line styles.
-
createFillStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspFillStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for fill styles.
-
createIconStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped aroundTLspCustomizableStyleableStyle containing aTLspIconStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for icon styles.
-
createTextStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createTextStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspTextStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for text styles.
-
createRasterStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createRasterStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspRasterStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for raster styles.
-
createLabelStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createLabelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspLabelBoxStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for label styles.
-
createPinLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createPinLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspPinLineStyle.The customizer panel create by this factory only supports
TLspLineStyle.DashPatterninstances where the stipple pattern is one of the predefined patterns inTLspLineStyle.DashPattern.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for pin line styles.
-
createDataObjectLabelTextProviderStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDataObjectLabelTextProviderStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDataObjectLabelTextProviderStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.Also note that in case of an array, all
TLcyLspCustomizableStyleContextinstances which contain aTLspDataObjectLabelTextProviderStyleand which contain layers with the same data model will be affected by the customizer panel created by this factory. If these multipleTLspDataObjectLabelTextProviderStylecontexts contain layers with different data models, no compatibleILcyCustomizerPanelFactorycan be created.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for data object label text provider styles.
-
createImageProcessingStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createImageProcessingStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspImageProcessingStyle.The panel allows the user to manually perform band selection, or choose from a predefined set of band selection configurations for layers which are created by a
TLcyLspRasterFormat.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- a customizer panel factory capable of creating customizer panels for very specific image processing styles.
- Since:
- 2017.1
-
createDensityLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDensityLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDensityLineStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for density line styles.
- Since:
- 2017.1
-
createDensityFillStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDensityFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDensityFillStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for density fill styles.
- Since:
- 2017.1
-
createDensityPointStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createDensityPointStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspDensityPointStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for density point styles.
- Since:
- 2017.1
-
createIndexColorModelStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createIndexColorModelStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapped around aTLspCustomizableStylecontaining aTLspIndexColorModelStyle.Note that the panel accepts both a single instance of a valid
TLcyLspCustomizableStyleContextas an array containing one or more validTLcyLspCustomizableStyleContextinstances.- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for index color model styles.
- Since:
- 2017.1
-
createParameterizedLineStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createParameterizedLineStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspParameterizedLineStyle.The panel does not work with arrays, only with single instances.
Prerequisites
Currently, the panel only supports two types of expressions for the color, and is only available for layers with a specific data model.
Model requirements:
- The model has an
ILcdDataModelDescriptor. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataPropertywhich:
Expression requirements:
There are two types of expressions that are supported:-
When the data model contains a color property, this color property can be used in an
attributeexpression.import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the color present in the data model to style the domain object with TLcdDataProperty colorProperty = ...; ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty); -
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the numeric value of the property to determine a color based on a TLcdColorMap TLcdDataProperty numericProperty = ...; TLcdColorMap colorMap = ...; ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for parameterized line styles.
- Since:
- 2018.0
- The model has an
-
createParameterizedFillStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createParameterizedFillStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspParameterizedFillStyle.The panel does not work with arrays, only with single instances.
Prerequisites
Currently, the panel only supports two types of expressions for the color, and is only available for layers with a specific data model.
Model requirements:
- The model has an
ILcdDataModelDescriptor. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataPropertywhich:
Expression requirements:
There are two types of expressions that are supported:-
When the data model contains a color property, this color property can be used in an
attributeexpression.import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the color present in the data model to style the domain object with TLcdDataProperty colorProperty = ...; ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty); -
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the numeric value of the property to determine a color based on a TLcdColorMap TLcdDataProperty numericProperty = ...; TLcdColorMap colorMap = ...; ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for parameterized fill styles.
- Since:
- 2018.0
- The model has an
-
createParameterizedIconStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createParameterizedIconStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspParameterizedIconStyle.The panel does not work with arrays, only with single instances.
Prerequisites
Currently, the panel only supports two types of expressions for the color, and is only available for layers with a specific data model.
Model requirements:
- The model has an
ILcdDataModelDescriptor. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataPropertywhich:
Expression requirements:
There are two types of expressions that are supported:-
When the data model contains a color property, this color property can be used in an
attributeexpression.import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the color present in the data model to style the domain object with TLcdDataProperty colorProperty = ...; ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty); -
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the numeric value of the property to determine a color based on a TLcdColorMap TLcdDataProperty numericProperty = ...; TLcdColorMap colorMap = ...; ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for parameterized icon styles.
- Since:
- 2018.0
- The model has an
-
createPointCloudStyleCustomizerPanelFactory
public static ILcyCustomizerPanelFactory createPointCloudStyleCustomizerPanelFactory(ILcyLucyEnv aLucyEnv) Create a new
ILcyCustomizerPanelFactorywhich can create anILcyCustomizerPanelfor aTLcyLspCustomizableStyleContextwrapper around aTLspCustomizableStylecontaining aTLspPointCloudStyle.The panel does not work with arrays, only with single instances.
Prerequisites
Currently, the panel only supports two types of expressions for the color and scale, and is only available for layers with a specific data model. The panel also supports adjusting the visibility of the objects for specific expressions.
Model requirements:
- The model has an
ILcdDataModelDescriptor. - The model only uses a single model element type.
- That model element type has at least one
TLcdDataPropertywhich:
Color expression requirements (see
There are two types of expressions that are supported:TLspPointCloudStyle.getColor()):-
When the data model contains a color property, this color property can be used in an
attributeexpression.import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the color present in the data model to style the domain object with TLcdDataProperty colorProperty = ...; ILcdExpression<Color> colorExpression = attribute(Color.class, colorProperty); -
When the data model contains a numeric property, this numeric property can be used in combination with
a color map to determine a color for each domain object, based on the value of the numeric property.
import static com.luciad.util.expression.TLcdExpressionFactory.*; //This expression will use the numeric value of the property to determine a color based on a TLcdColorMap TLcdDataProperty numericProperty = ...; TLcdColorMap colorMap = ...; ILcdExpression<Color> colorExpression = mixmap(toFloat(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty)), colorMap);
Scale expression requirements (see
The only supported scale expression is a constant:TLspPointCloudStyle.getScale())import static com.luciad.util.expression.TLcdExpressionFactory.*; ILcdExpression<Float> scaleExpression = constant(0.5);Visibility expression requirements (see
Adjusting the visibility is only supported for numeric properties. There are three types of visibility expressions that are supported for such properties:TLspPointCloudStyle.getVisibility())-
Only define an upper limit:
import static com.luciad.util.expression.TLcdExpressionFactory.*; //Only accept objects for which the property value is less than or equal to a certain value TLcdDataProperty numericProperty = ...; Number upperLimit = ...; ILcdExpression<Boolean> visibilityExpression = lte(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty), upperLimit); -
Only define a lower limit:
import static com.luciad.util.expression.TLcdExpressionFactory.*; //Only accept objects for which the property value is greater than or equal to a certain value TLcdDataProperty numericProperty = ...; Number lowerLimit = ...; ILcdExpression<Boolean> visibilityExpression = gte(attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty), lowerLimit); -
Define an upper and lower limit for the same property:
import static com.luciad.util.expression.TLcdExpressionFactory.*; //Only accept objects for which the property value is between an upper and lower limit TLcdDataProperty numericProperty = ...; ILcdExpression<? extends Number> numericPropertyExpression = attribute((Class<? extends Number>) numericProperty.getType().getInstanceClass(), aDataProperty); Number lowerLimit = ...; Number upperLimit = ...; ILcdExpression<Boolean> visibilityExpression = and(lte(numericPropertyExpression, upperLimit), gte(numericPropertyExpression, lowerLimit));
- Parameters:
aLucyEnv- The Lucy back-end- Returns:
- A customizer panel factory capable of creating customizer panels for point cloud styles.
- Since:
- 2018.0
- The model has an
-