void QgsLine3DSymbolEntity::addEntityForNotSelectedLines( const Qgs3DMapSettings &map, QgsVectorLayer *layer, const QgsLine3DSymbol &symbol ) { // build the default material Qt3DExtras::QPhongMaterial *mat = material( symbol ); // build the feature request to select features QgsFeatureRequest req; req.setDestinationCrs( map.crs(), map.transformContext() ); QgsFeatureIds notSelected = layer->allFeatureIds(); notSelected.subtract( layer->selectedFeatureIds() ); req.setFilterFids( notSelected ); // build the entity QgsLine3DSymbolEntityNode *entity = new QgsLine3DSymbolEntityNode( map, layer, symbol, req ); entity->addComponent( mat ); entity->setParent( this ); }
void QgsLine3DSymbolEntity::addEntityForSelectedLines( const Qgs3DMapSettings &map, QgsVectorLayer *layer, const QgsLine3DSymbol &symbol ) { // build the default material Qt3DExtras::QPhongMaterial *mat = material( symbol ); // update the material with selection colors mat->setDiffuse( map.selectionColor() ); mat->setAmbient( map.selectionColor().darker() ); // build the feature request to select features QgsFeatureRequest req; req.setDestinationCrs( map.crs(), map.transformContext() ); req.setFilterFids( layer->selectedFeatureIds() ); // build the entity QgsLine3DSymbolEntityNode *entity = new QgsLine3DSymbolEntityNode( map, layer, symbol, req ); entity->addComponent( mat ); entity->setParent( this ); }