25   qDeleteAll( mMetadata );
 
   30   if ( !metadata || mMetadata.contains( metadata->
type() ) )
 
   33   mMetadata[metadata->
type()] = metadata;
 
   39   if ( !mMetadata.contains( type ) )
 
   42   return mMetadata[type]->create();
 
   65   if ( !mMetadata.contains( symbol->
type() ) )
 
   68   return mMetadata.value( symbol->
type() )->createFeatureHandler( layer, symbol );
 
   73   return mMetadata.value( type );
 
   78   return mMetadata.keys();
 
QStringList symbolTypes() const
Returns a list of all available symbol types.
QgsAbstract3DSymbol * createSymbol(const QString &type) const
Creates a new instance of a symbol of the specified type.
QgsAbstract3DSymbol * defaultSymbolForGeometryType(QgsWkbTypes::GeometryType type)
Creates a new instance of the default 3D symbol for the specified geometry type.
Qgs3DSymbolAbstractMetadata * symbolMetadata(const QString &type) const
Returns metadata for specified symbol type. Returns nullptr if not found.
QgsFeature3DHandler * createHandlerForSymbol(QgsVectorLayer *layer, const QgsAbstract3DSymbol *symbol)
Creates a feature handler for a symbol, for the specified vector layer.
bool addSymbolType(Qgs3DSymbolAbstractMetadata *metadata)
Registers a new symbol type. Takes ownership of the metadata instance.
virtual QString type() const =0
Returns identifier of symbol type. Each 3D symbol implementation should return a different type.
Represents a vector layer which manages a vector based data sets.
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.