void RArcEntity::exportEntity(RExporter& e, bool preview, bool forceSelected) const { Q_UNUSED(preview); Q_UNUSED(forceSelected); e.setBrush(Qt::NoBrush); e.exportArc(data); }
void RPolylineEntity::exportEntity(RExporter& e, bool preview, bool forceSelected) const { Q_UNUSED(preview); Q_UNUSED(forceSelected); e.setBrush(Qt::NoBrush); e.exportPolyline(data, data.getPolylineGen()); }
void RPolylineEntity::exportEntity(RExporter& e, bool preview) const { Q_UNUSED(preview); e.setBrush(Qt::NoBrush); // temp for painter path testing: // RPainterPath pp(data.toPainterPath()); // pp.setPen(QPen(Qt::white)); // e.exportPainterPaths(QList<RPainterPath>() << pp); e.exportPolyline(data); }
void REllipseEntity::exportEntity(RExporter& e, bool preview) const { Q_UNUSED(preview); e.setBrush(Qt::NoBrush); e.exportEllipse(data); }
void RViewportEntity::exportEntity(RExporter& e, bool preview, bool forceSelected) const { Q_UNUSED(preview); Q_UNUSED(forceSelected); RDocument* doc = (RDocument*)getDocument(); if (doc==NULL) { return; } RBox viewportBox(data.position, data.width, data.height); // if layer is visible, export viewport frame // viewport contents is always exported (unless viewport if off): if (isVisible()) { // export viewport frame to layer of viewport: e.setBrush(Qt::NoBrush); QList<RLine> lines = viewportBox.getLines2d(); for (int i=0; i<lines.length(); i++) { e.exportLine(lines[i]); } } // if viewport is off, we're done: if (isOff()) { return; } // clip rectangle export e.exportClipRectangle(viewportBox); RVector offset(0,0); offset -= data.viewCenter * data.scale; offset -= data.viewTarget * data.scale; // create temporary block reference to model space block: RBlockReferenceData modelSpaceData( doc, RBlockReferenceData( doc->getModelSpaceBlockId(), data.position + offset, RVector(data.scale, data.scale), 0.0 ) ); modelSpaceData.update(); // start clipping from here: e.setClipping(true); // render model space block reference into viewport: QSet<REntity::Id> ids = doc->queryBlockEntities(doc->getModelSpaceBlockId()); QList<REntity::Id> list = doc->getStorage().orderBackToFront(ids); int i; QList<REntity::Id>::iterator it; for (it = list.begin(), i = 0; it != list.end(); it++) { if (preview && i>RSettings::getPreviewEntities()) { break; } QSharedPointer<REntity> entity = modelSpaceData.queryEntity(*it); if (entity.isNull()) { continue; } entity->rotate(data.rotation, data.position); // prevent recursions: if (entity->getType()==RS::EntityViewport) { continue; } RBox bb = entity->getBoundingBox(); if (!viewportBox.intersects(bb)) { continue; } entity->scaleVisualProperties(data.scale); e.exportEntity(*entity, preview, true); i++; } e.setClipping(false); }