QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
server
services
wms
qgsdxfwriter.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsdxfexport.cpp
3
-------------------------------------------------------------------
4
Date : 20 December 2016
5
Copyright : (C) 2015 by
6
email : marco.hugentobler at sourcepole dot com (original code)
7
Copyright : (C) 2016 by
8
email : david dot marteau at 3liz dot com
9
***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
#include "
qgsdxfwriter.h
"
18
19
#include <memory>
20
21
#include "
qgsdxfexport.h
"
22
#include "
qgsmodule.h
"
23
#include "
qgswmsrenderer.h
"
24
#include "
qgswmsrestorer.h
"
25
26
namespace
QgsWms
27
{
28
void
writeAsDxf
(
QgsServerInterface
*serverIface,
const
QgsProject
*project,
const
QgsWmsRequest
&request,
QgsServerResponse
&response )
29
{
30
// prepare render context
31
QgsWmsRenderContext
context( project, serverIface );
32
context.
setFlag
(
QgsWmsRenderContext::UseWfsLayersOnly
);
33
context.
setFlag
(
QgsWmsRenderContext::UseOpacity
);
34
context.
setFlag
(
QgsWmsRenderContext::UseFilter
);
35
context.
setFlag
(
QgsWmsRenderContext::SetAccessControl
);
36
context.
setFlag
(
QgsWmsRenderContext::AddHighlightLayers
);
37
context.
setParameters
( request.
wmsParameters
() );
38
context.
setSocketFeedback
( response.
feedback
() );
39
40
// Write output
41
QgsRenderer
renderer( context );
42
43
//Layer settings need to be kept until QgsDxfExport::writeToFile has finished
44
auto
restorer = std::make_unique<QgsWmsRestorer>( context );
45
restorer = std::make_unique<QgsWmsRestorer>( context );
46
47
std::unique_ptr<QgsDxfExport> dxf = renderer.
getDxf
();
48
response.
setHeader
(
"Content-Type"
,
"application/dxf"
);
49
dxf->writeToFile( response.
io
(), request.
wmsParameters
().
dxfCodec
() );
50
}
51
}
// namespace QgsWms
QgsProject
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition
qgsproject.h:114
QgsServerInterface
Defines interfaces exposed by QGIS Server and made available to plugins.
Definition
qgsserverinterface.h:61
QgsServerResponse
Defines the response interface passed to QgsService.
Definition
qgsserverresponse.h:42
QgsServerResponse::setHeader
virtual void setHeader(const QString &key, const QString &value)=0
Set a single header value replacing any existing value(s) for the same key.
QgsServerResponse::feedback
virtual QgsFeedback * feedback() const
Returns the socket feedback if any.
Definition
qgsserverresponse.cpp:100
QgsServerResponse::io
virtual QIODevice * io()=0
Returns the underlying QIODevice.
QgsWms::QgsRenderer
Map renderer for WMS requests.
Definition
qgswmsrenderer.h:71
QgsWms::QgsRenderer::getDxf
std::unique_ptr< QgsDxfExport > getDxf()
Returns the map as DXF data.
Definition
qgswmsrenderer.cpp:1133
QgsWms::QgsWmsParameters::dxfCodec
QString dxfCodec() const
Returns the DXF CODEC parameter.
Definition
qgswmsparameters.cpp:2268
QgsWms::QgsWmsRenderContext
Rendering context for the WMS renderer.
Definition
qgswmsrendercontext.h:35
QgsWms::QgsWmsRenderContext::setParameters
void setParameters(const QgsWmsParameters ¶meters)
Sets WMS parameters.
Definition
qgswmsrendercontext.cpp:48
QgsWms::QgsWmsRenderContext::setFlag
void setFlag(Flag flag, bool on=true)
Sets or unsets a rendering flag according to the on value.
Definition
qgswmsrendercontext.cpp:71
QgsWms::QgsWmsRenderContext::setSocketFeedback
void setSocketFeedback(QgsFeedback *feedback)
Sets the response feedback.
Definition
qgswmsrendercontext.cpp:1056
QgsWms::QgsWmsRenderContext::UseFilter
@ UseFilter
Definition
qgswmsrendercontext.h:42
QgsWms::QgsWmsRenderContext::UseWfsLayersOnly
@ UseWfsLayersOnly
Definition
qgswmsrendercontext.h:48
QgsWms::QgsWmsRenderContext::UseOpacity
@ UseOpacity
Definition
qgswmsrendercontext.h:41
QgsWms::QgsWmsRenderContext::AddHighlightLayers
@ AddHighlightLayers
Definition
qgswmsrendercontext.h:44
QgsWms::QgsWmsRenderContext::SetAccessControl
@ SetAccessControl
Definition
qgswmsrendercontext.h:46
QgsWms::QgsWmsRequest
Defines request interfaces passed to WMS service.
Definition
qgswmsrequest.h:35
QgsWms::QgsWmsRequest::wmsParameters
const QgsWmsParameters & wmsParameters() const
Returns the parameters interpreted for the WMS service.
Definition
qgswmsrequest.cpp:32
QgsWms
Median cut implementation.
Definition
qgsdxfwriter.cpp:27
QgsWms::writeAsDxf
void writeAsDxf(QgsServerInterface *serverIface, const QgsProject *project, const QgsWmsRequest &request, QgsServerResponse &response)
Output GetMap response in DXF format.
Definition
qgsdxfwriter.cpp:28
qgsdxfexport.h
qgsdxfwriter.h
qgsmodule.h
qgswmsrenderer.h
qgswmsrestorer.h
Generated on
for QGIS API Documentation by
1.17.0