11#ifndef vtkGeoJSONFeature_h 
   12#define vtkGeoJSONFeature_h 
   16#include "vtkIOGeoJSONModule.h"  
   17#include "vtk_jsoncpp.h"         
   19VTK_ABI_NAMESPACE_BEGIN
 
   23#define GeoJSON_POINT "Point" 
   24#define GeoJSON_MULTI_POINT "MultiPoint" 
   25#define GeoJSON_LINE_STRING "LineString" 
   26#define GeoJSON_MULTI_LINE_STRING "MultiLineString" 
   27#define GeoJSON_POLYGON "Polygon" 
   28#define GeoJSON_MULTI_POLYGON "MultiPolygon" 
   29#define GeoJSON_GEOMETRY_COLLECTION "GeometryCollection" 
   49  vtkSetMacro(OutlinePolygons, 
bool);
 
   50  vtkGetMacro(OutlinePolygons, 
bool);
 
   51  vtkBooleanMacro(OutlinePolygons, 
bool);
 
  120  bool CreatePoint(
const Json::Value& coordinates, 
double point[3]);
 
general representation of visualization data
 
Represents GeoJSON feature geometry & properties.
 
vtkPolyData * ExtractMultiLineString(const Json::Value &coordinates, vtkPolyData *outputData)
extractMultiXXXX extracts an array of geometries XXXX into the outputData
 
void InsertFeatureProperties(vtkPolyData *outputData)
 
char * FeatureId
Id of current GeoJSON feature being parsed.
 
static vtkGeoJSONFeature * New()
 
bool IsPoint(const Json::Value &root)
Check if the root contains corresponding appropriate geometry in the Jsoncpp root.
 
bool IsPolygon(const Json::Value &root)
Check if the root contains corresponding appropriate geometry in the Jsoncpp root.
 
void ExtractGeoJSONFeature(const Json::Value &root, vtkPolyData *outputData)
Extract the geometry corresponding to the geoJSON feature stored at root Assign any feature propertie...
 
bool IsMultiLineString(const Json::Value &root)
Check if the root contains corresponding appropriate geometry in the Jsoncpp root.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
Json::Value featureRoot
Json::Value featureRoot corresponds to the root of the geoJSON feature from which the geometry and pr...
 
vtkPolyData * ExtractPolygon(const Json::Value &coordinates, vtkPolyData *outputData)
In extractXXXX() Extract geoJSON geometries XXXX into outputData.
 
bool IsMultiPoint(const Json::Value &root)
Check if the root contains corresponding appropriate geometry in the Jsoncpp root.
 
bool CreatePoint(const Json::Value &coordinates, double point[3])
Point[] from its JSON equivalent.
 
bool IsLineString(const Json::Value &root)
Check if the root contains corresponding appropriate geometry in the Jsoncpp root.
 
vtkPolyData * ExtractMultiPoint(const Json::Value &coordinates, vtkPolyData *outputData)
extractMultiXXXX extracts an array of geometries XXXX into the outputData
 
bool OutlinePolygons
Set/get option to generate the border outlining each polygon, so that the output cells are polyine da...
 
int GetDataObjectType() override
Returns VTK_GEO_JSON_FEATURE.
 
vtkPolyData * ExtractMultiPolygon(const Json::Value &coordinates, vtkPolyData *outputData)
extractMultiXXXX extracts an array of geometries XXXX into the outputData
 
~vtkGeoJSONFeature() override
 
vtkPolyData * ExtractPoint(const Json::Value &coordinates, vtkPolyData *outputData)
In extractXXXX() Extract geoJSON geometries XXXX into outputData.
 
void ExtractGeoJSONFeatureGeometry(const Json::Value &root, vtkPolyData *outputData)
Extract geoJSON geometry into vtkPolyData *.
 
vtkPolyData * ExtractLineString(const Json::Value &coordinates, vtkPolyData *outputData)
In extractXXXX() Extract geoJSON geometries XXXX into outputData.
 
bool IsMultiPolygon(const Json::Value &root)
Check if the root contains corresponding appropriate geometry in the Jsoncpp root.
 
a simple class to control print indentation
 
concrete dataset represents vertices, lines, polygons, and triangle strips
 
#define VTK_GEO_JSON_FEATURE