QgsFeatureRendererV2* QgsSingleSymbolRendererV2::clone() { QgsSingleSymbolRendererV2* r = new QgsSingleSymbolRendererV2( mSymbol->clone() ); r->setUsingSymbolLevels( usingSymbolLevels() ); r->setRotationField( rotationField() ); r->setSizeScaleField( sizeScaleField() ); r->setScaleMethod( scaleMethod() ); return r; }
QgsFeatureRendererV2* QgsCategorizedSymbolRendererV2::clone() { QgsCategorizedSymbolRendererV2* r = new QgsCategorizedSymbolRendererV2( mAttrName, mCategories ); if ( mSourceSymbol ) r->setSourceSymbol( mSourceSymbol->clone() ); if ( mSourceColorRamp ) r->setSourceColorRamp( mSourceColorRamp->clone() ); r->setUsingSymbolLevels( usingSymbolLevels() ); r->setRotationField( rotationField() ); r->setSizeScaleField( sizeScaleField() ); r->setScaleMethod( scaleMethod() ); return r; }
QgsFeatureRendererV2* QgsGraduatedSymbolRendererV2::clone() { QgsGraduatedSymbolRendererV2* r = new QgsGraduatedSymbolRendererV2( mAttrName, mRanges ); r->setMode( mMode ); if ( mSourceSymbol.data() ) r->setSourceSymbol( mSourceSymbol->clone() ); if ( mSourceColorRamp.data() ) { r->setSourceColorRamp( mSourceColorRamp->clone() ); r->setInvertedColorRamp( mInvertedColorRamp ); } r->setUsingSymbolLevels( usingSymbolLevels() ); r->setRotationField( rotationField() ); r->setSizeScaleField( sizeScaleField() ); r->setScaleMethod( scaleMethod() ); return r; }
void updatePositions( ScenarioModel& scenario, const QVector<id_type<TimeNodeModel> >& translatedTimeNodes, const TimeValue& deltaTime, ProcessScaleMethod&& scaleMethod) { for (const auto& timeNode_id : translatedTimeNodes) { auto& timeNode = scenario.timeNode(timeNode_id); timeNode.setDate(timeNode.date() + deltaTime); for (const auto& event : timeNode.events()) { scenario.event(event).setDate(timeNode.date()); } } for(const auto& constraint : scenario.constraints()) { const auto& startDate = scenario.event(scenario.state(constraint->startState()).eventId()).date(); const auto& endDate = scenario.event(scenario.state(constraint->endState()).eventId()).date(); TimeValue newDuration = endDate - startDate; if (!(constraint->startDate() - startDate).isZero()) { constraint->setStartDate(startDate); } if(!(constraint->defaultDuration() - newDuration).isZero()) { ConstraintModel::Algorithms::setDurationInBounds(*constraint, newDuration); for(const auto& process : constraint->processes()) { scaleMethod(process, newDuration); } } emit scenario.constraintMoved(constraint->id()); } }