OGRFeature Style C++ API
Include file
ogr_featurestyle.h
OGRFeature Style C++ API
Simple feature style classes.
Typedefs
-
typedef enum ogr_style_type OGRSType
OGR Style type.
Enums
-
class OGRStyleTable
- #include <ogr_featurestyle.h>
This class represents a style table.
Public Functions
-
OGRStyleTable()
-
~OGRStyleTable()
-
GBool AddStyle(const char *pszName, const char *pszStyleString)
Add a new style in the table.
No comparison will be done on the Style string, only on the name.
- Parameters:
pszName -- the name the style to add.
pszStyleString -- the style string to add.
- Returns:
TRUE on success, FALSE on error
-
GBool RemoveStyle(const char *pszName)
Remove a style in the table by its name.
- Parameters:
pszName -- the name of the style to remove.
- Returns:
TRUE on success, FALSE on error
-
GBool ModifyStyle(const char *pszName, const char *pszStyleString)
Modify a style in the table by its name If the style does not exist, it will be added.
- Parameters:
pszName -- the name of the style to modify.
pszStyleString -- the style string.
- Returns:
TRUE on success, FALSE on error
-
GBool SaveStyleTable(const char *pszFilename)
Save a style table to a file.
- Parameters:
pszFilename -- the name of the file to save to.
- Returns:
TRUE on success, FALSE on error
-
GBool LoadStyleTable(const char *pszFilename)
Load a style table from a file.
- Parameters:
pszFilename -- the name of the file to load from.
- Returns:
TRUE on success, FALSE on error
-
const char *Find(const char *pszStyleString)
Get a style string by name.
- Parameters:
pszName -- the name of the style string to find.
- Returns:
the style string matching the name, NULL if not found or error.
-
GBool IsExist(const char *pszName)
Get the index of a style in the table by its name.
- Parameters:
pszName -- the name to look for.
- Returns:
The index of the style if found, -1 if not found or error.
-
const char *GetStyleName(const char *pszName)
Get style name by style string.
- Parameters:
pszStyleString -- the style string to look up.
- Returns:
the Name of the matching style string or NULL on error.
-
void Print(FILE *fpOut)
Print a style table to a FILE pointer.
- Parameters:
fpOut -- the FILE pointer to print to.
-
void Clear()
Clear a style table.
-
OGRStyleTable *Clone()
Duplicate style table.
The newly created style table is owned by the caller, and will have its own reference to the OGRStyleTable.
- Returns:
new style table, exactly matching this style table.
-
void ResetStyleStringReading()
Reset the next style pointer to 0.
-
const char *GetNextStyle()
Get the next style string from the table.
- Returns:
the next style string or NULL on error.
-
const char *GetLastStyleName()
Get the style name of the last style string fetched with OGR_STBL_GetNextStyle.
- Returns:
the Name of the last style string or NULL on error.
-
OGRStyleTable()
-
class OGRStyleMgr
- #include <ogr_featurestyle.h>
This class represents a style manager.
Public Functions
-
explicit OGRStyleMgr(OGRStyleTable *poDataSetStyleTable = nullptr)
Constructor.
This method is the same as the C function OGR_SM_Create()
- Parameters:
poDataSetStyleTable -- (currently unused, reserved for future use), pointer to OGRStyleTable. Pass NULL for now.
-
~OGRStyleMgr()
Destructor.
This method is the same as the C function OGR_SM_Destroy()
-
GBool SetFeatureStyleString(OGRFeature*, const char *pszStyleString = nullptr, GBool bNoMatching = FALSE)
Set a style in a feature.
- Parameters:
poFeature -- the feature object to store the style in
pszStyleString -- the style to store
bNoMatching -- TRUE to lookup the style in the style table and add the name to the feature
- Returns:
TRUE on success, FALSE on error.
-
const char *InitFromFeature(OGRFeature*)
Initialize style manager from the style string of a feature.
This method is the same as the C function OGR_SM_InitFromFeature().
- Parameters:
poFeature -- feature object from which to read the style.
- Returns:
a reference to the style string read from the feature, or NULL in case of error..
-
GBool InitStyleString(const char *pszStyleString = nullptr)
Initialize style manager from the style string.
Style string can be an expanded style string (e.g. "PEN(c:#FF0000,w:5px)"), or (starting with GDAL 3.5.1), a reference to a style name starting with @ (e.g. "@my_style") registered in the associated style table.
This method is the same as the C function OGR_SM_InitStyleString().
- Parameters:
pszStyleString -- the style string to use (can be NULL).
- Returns:
TRUE on success, FALSE on errors.
-
const char *GetStyleName(const char *pszStyleString = nullptr)
Get the name of a style from the style table.
- Parameters:
pszStyleString -- the style to search for, or NULL to use the style currently stored in the manager.
- Returns:
The name if found, or NULL on error.
-
const char *GetStyleByName(const char *pszStyleName)
find a style in the current style table.
- Parameters:
pszStyleName -- the name of the style to add.
- Returns:
the style string matching the name or NULL if not found or error.
-
GBool AddStyle(const char *pszStyleName, const char *pszStyleString = nullptr)
Add a style to the current style table.
This method is the same as the C function OGR_SM_AddStyle().
- Parameters:
pszStyleName -- the name of the style to add.
pszStyleString -- the style string to use, or NULL to use the style stored in the manager.
- Returns:
TRUE on success, FALSE on errors.
-
const char *GetStyleString(OGRFeature* = nullptr)
Get the style string from the style manager.
NOTE: this method will call OGRStyleMgr::InitFromFeature() if poFeature is not NULL and replace the style string stored in the style manager
- Parameters:
poFeature -- feature object from which to read the style or NULL to get the style string stored in the manager.
- Returns:
the style string stored in the feature or the style string stored in the style manager if poFeature is NULL
-
GBool AddPart(OGRStyleTool*)
Add a part (style tool) to the current style.
This method is the same as the C function OGR_SM_AddPart().
- Parameters:
poStyleTool -- the style tool defining the part to add.
- Returns:
TRUE on success, FALSE on errors.
-
GBool AddPart(const char*)
Add a part (style string) to the current style.
- Parameters:
pszPart -- the style string defining the part to add.
- Returns:
TRUE on success, FALSE on errors.
-
int GetPartCount(const char *pszStyleString = nullptr)
Get the number of parts in a style.
This method is the same as the C function OGR_SM_GetPartCount().
- Parameters:
pszStyleString -- (optional) the style string on which to operate. If NULL then the current style string stored in the style manager is used.
- Returns:
the number of parts (style tools) in the style.
-
OGRStyleTool *GetPart(int hPartId, const char *pszStyleString = nullptr)
Fetch a part (style tool) from the current style.
This method is the same as the C function OGR_SM_GetPart().
This method instantiates a new object that should be freed with OGR_ST_Destroy().
- Parameters:
nPartId -- the part number (0-based index).
pszStyleString -- (optional) the style string on which to operate. If NULL then the current style string stored in the style manager is used.
- Returns:
OGRStyleTool of the requested part (style tools) or NULL on error.
-
explicit OGRStyleMgr(OGRStyleTable *poDataSetStyleTable = nullptr)
-
class OGRStyleTool
- #include <ogr_featurestyle.h>
This class represents a style tool.
Public Functions
-
inline OGRStyleTool()
-
explicit OGRStyleTool(OGRSTClassId eClassId)
Constructor.
-
virtual ~OGRStyleTool()
-
OGRSTClassId GetType()
Determine type of Style Tool.
- Returns:
the style tool type, one of OGRSTCPen (1), OGRSTCBrush (2), OGRSTCSymbol (3) or OGRSTCLabel (4). Returns OGRSTCNone (0) if the OGRStyleToolH is invalid.
-
void SetUnit(OGRSTUnitId, double dfScale = 1.0)
Set Style Tool units.
- Parameters:
eUnit -- the new unit.
dfGroundPaperScale -- ground to paper scale factor.
-
inline OGRSTUnitId GetUnit()
Get Style Tool units.
- Returns:
the style tool units.
-
virtual const char *GetStyleString() = 0
Get the style string for this Style Tool.
Maps to the OGRStyleTool subclasses' GetStyleString() methods.
- Returns:
the style string for this style tool or "" if the hST is invalid.
-
void SetStyleString(const char *pszStyleString)
Undocumented.
- Parameters:
pszStyleString -- undocumented.
-
const char *GetStyleString(const OGRStyleParamId *pasStyleParam, OGRStyleValue *pasStyleValue, int nSize)
Undocumented.
- Parameters:
pasStyleParam -- undocumented.
pasStyleValue -- undocumented.
nSize -- undocumented.
- Returns:
undocumented.
-
const char *GetParamStr(const OGRStyleParamId &sStyleParam, const OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
- Parameters:
sStyleParam -- undocumented.
sStyleValue -- undocumented.
bValueIsNull -- undocumented.
- Returns:
Undocumented.
-
int GetParamNum(const OGRStyleParamId &sStyleParam, const OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
- Parameters:
sStyleParam -- undocumented.
sStyleValue -- undocumented.
bValueIsNull -- undocumented.
- Returns:
Undocumented.
-
double GetParamDbl(const OGRStyleParamId &sStyleParam, const OGRStyleValue &sStyleValue, GBool &bValueIsNull)
Undocumented.
- Parameters:
sStyleParam -- undocumented.
sStyleValue -- undocumented.
bValueIsNull -- undocumented.
- Returns:
Undocumented.
-
void SetParamStr(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, const char *pszParamString)
Undocumented.
- Parameters:
sStyleParam -- undocumented.
sStyleValue -- undocumented.
pszParamString -- undocumented.
-
void SetParamNum(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, int nParam)
Undocumented.
- Parameters:
sStyleParam -- undocumented.
sStyleValue -- undocumented.
nParam -- undocumented.
-
void SetParamDbl(const OGRStyleParamId &sStyleParam, OGRStyleValue &sStyleValue, double dfParam)
Undocumented.
- Parameters:
sStyleParam -- undocumented.
sStyleValue -- undocumented.
dfParam -- undocumented.
Public Static Functions
-
static GBool GetRGBFromString(const char *pszColor, int &nRed, int &nGreen, int &nBlue, int &nTransparence)
Return the r,g,b,a components of a color encoded in #RRGGBB[AA] format.
Maps to OGRStyleTool::GetRGBFromString().
- Parameters:
pszColor -- the color to parse
nRed -- reference to an int in which the red value will be returned.
nGreen -- reference to an int in which the green value will be returned.
nBlue -- reference to an int in which the blue value will be returned.
nTransparance -- reference to an int in which the (optional) alpha value will be returned.
- Returns:
TRUE if the color could be successfully parsed, or FALSE in case of errors.
-
static int GetSpecificId(const char *pszId, const char *pszWanted)
Undocumented.
- Parameters:
pszId -- Undocumented
pszWanted -- Undocumented
- Returns:
Undocumented
Private Members
-
double m_dfScale = 1.0
-
OGRSTUnitId m_eUnit = OGRSTUMM
-
OGRSTClassId m_eClassId = OGRSTCNone
-
char *m_pszStyleString = nullptr
-
inline OGRStyleTool()