Skip to content

Commit c92d7dc

Browse files
committedSep 15, 2017
Docstring/sip fixes in core/3d
1 parent 9778e85 commit c92d7dc

12 files changed

+266
-30
lines changed
 

‎python/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ ENDIF ()
102102

103103
INCLUDE_DIRECTORIES(
104104
${CMAKE_SOURCE_DIR}/src/core
105+
${CMAKE_SOURCE_DIR}/src/core/3d
105106
${CMAKE_SOURCE_DIR}/src/core/annotations
106107
${CMAKE_SOURCE_DIR}/src/core/auth
107108
${CMAKE_SOURCE_DIR}/src/core/expression
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
/************************************************************************
2+
* This file has been generated automatically from *
3+
* *
4+
* src/core/3d/qgs3drendererregistry.h *
5+
* *
6+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
7+
************************************************************************/
8+
9+
10+
11+
12+
13+
class Qgs3DRendererAbstractMetadata
14+
{
15+
%Docstring
16+
Base metadata class for 3D renderers. Instances of derived classes may be registered in Qgs3DRendererRegistry.
17+
.. versionadded:: 3.0
18+
%End
19+
20+
%TypeHeaderCode
21+
#include "qgs3drendererregistry.h"
22+
%End
23+
public:
24+
25+
virtual ~Qgs3DRendererAbstractMetadata();
26+
27+
QString type() const;
28+
%Docstring
29+
Returns unique identifier of the 3D renderer class
30+
:rtype: str
31+
%End
32+
33+
virtual QgsAbstract3DRenderer *createRenderer( QDomElement &elem, const QgsReadWriteContext &context ) = 0 /Factory/;
34+
%Docstring
35+
Returns new instance of the renderer given the DOM element. Returns NULL on error.
36+
Pure virtual function: must be implemented in derived classes.
37+
:rtype: QgsAbstract3DRenderer
38+
%End
39+
40+
protected:
41+
42+
explicit Qgs3DRendererAbstractMetadata( const QString &type );
43+
%Docstring
44+
Constructor of the base class
45+
%End
46+
47+
protected:
48+
};
49+
50+
51+
class Qgs3DRendererRegistry
52+
{
53+
%Docstring
54+
Keeps track of available 3D renderers. Should be accessed through QgsApplication.renderer3DRegistry() singleton.
55+
.. versionadded:: 3.0
56+
%End
57+
58+
%TypeHeaderCode
59+
#include "qgs3drendererregistry.h"
60+
%End
61+
public:
62+
Qgs3DRendererRegistry();
63+
64+
~Qgs3DRendererRegistry();
65+
66+
void addRenderer( Qgs3DRendererAbstractMetadata *metadata /Transfer/ );
67+
%Docstring
68+
Registers a new 3D renderer type. The call takes ownership of the passed metadata object.
69+
%End
70+
71+
void removeRenderer( const QString &type );
72+
%Docstring
73+
Unregisters a 3D renderer type
74+
%End
75+
76+
Qgs3DRendererAbstractMetadata *rendererMetadata( const QString &type ) const;
77+
%Docstring
78+
Returns metadata for a 3D renderer type (may be used to create a new instance of the type)
79+
:rtype: Qgs3DRendererAbstractMetadata
80+
%End
81+
82+
QStringList renderersList() const;
83+
%Docstring
84+
Returns a list of all available 3D renderer types.
85+
:rtype: list of str
86+
%End
87+
88+
};
89+
90+
/************************************************************************
91+
* This file has been generated automatically from *
92+
* *
93+
* src/core/3d/qgs3drendererregistry.h *
94+
* *
95+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
96+
************************************************************************/
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
/************************************************************************
2+
* This file has been generated automatically from *
3+
* *
4+
* src/core/3d/qgsabstract3drenderer.h *
5+
* *
6+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
7+
************************************************************************/
8+
9+
10+
11+
12+
namespace Qt3DCore
13+
{
14+
}
15+
16+
class QgsAbstract3DRenderer
17+
{
18+
%Docstring
19+
Base class for all renderers that may to participate in 3D view.
20+
21+
3D renderers implement the method createEntity() that returns a new 3D entity - that entity
22+
will be added to the 3D scene to represent data in renderer's display style.
23+
24+
Renderers may store some custom properties (e.g. materials, sizes) that are written to and read from
25+
XML. It is therefore not recommended to store large amount of data within a renderer (e.g. arrays of vertices).
26+
27+
.. versionadded:: 3.0
28+
%End
29+
30+
%TypeHeaderCode
31+
#include "qgsabstract3drenderer.h"
32+
%End
33+
public:
34+
virtual ~QgsAbstract3DRenderer();
35+
36+
virtual QString type() const = 0;
37+
%Docstring
38+
Returns unique identifier of the renderer class (used to identify subclass)
39+
:rtype: str
40+
%End
41+
virtual QgsAbstract3DRenderer *clone() const = 0 /Factory/;
42+
%Docstring
43+
Returns a cloned instance
44+
:rtype: QgsAbstract3DRenderer
45+
%End
46+
47+
virtual void writeXml( QDomElement &elem, const QgsReadWriteContext &context ) const = 0;
48+
%Docstring
49+
Writes renderer's properties to given XML element
50+
%End
51+
virtual void readXml( const QDomElement &elem, const QgsReadWriteContext &context ) = 0;
52+
%Docstring
53+
Reads renderer's properties from given XML element
54+
%End
55+
virtual void resolveReferences( const QgsProject &project );
56+
%Docstring
57+
Resolves references to other objects - second phase of loading - after readXml()
58+
%End
59+
};
60+
61+
62+
/************************************************************************
63+
* This file has been generated automatically from *
64+
* *
65+
* src/core/3d/qgsabstract3drenderer.h *
66+
* *
67+
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
68+
************************************************************************/

‎python/core/core_auto.sip

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,8 @@
279279
%Include geometry/qgssurface.sip
280280
%Include geometry/qgswkbptr.sip
281281
%Include geometry/qgswkbtypes.sip
282+
%Include 3d/qgs3drendererregistry.sip
283+
%Include 3d/qgsabstract3drenderer.sip
282284
%Include fieldformatter/qgsdatetimefieldformatter.sip
283285
%Include fieldformatter/qgsfallbackfieldformatter.sip
284286
%Include fieldformatter/qgskeyvaluefieldformatter.sip

‎python/core/qgsapplication.sip

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,15 @@ Returns path to the build output directory. Valid only when running from build d
704704
:rtype: QgsFieldFormatterRegistry
705705
%End
706706

707+
static Qgs3DRendererRegistry *renderer3DRegistry();
708+
%Docstring
709+
Returns registry of available 3D renderers.
710+
.. note::
711+
712+
not available in Python bindings
713+
.. versionadded:: 3.0
714+
:rtype: Qgs3DRendererRegistry
715+
%End
707716

708717
static QString nullRepresentation();
709718
%Docstring

‎python/core/qgsmaplayer.sip

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,24 @@ Return pointer to layer's undo stack
760760
:rtype: QgsMapLayerStyleManager
761761
%End
762762

763+
void setRenderer3D( QgsAbstract3DRenderer *renderer /Transfer/ );
764+
%Docstring
765+
Sets 3D renderer for the layer. Takes ownership of the renderer.
766+
.. note::
767+
768+
not available in Python bindings
769+
.. versionadded:: 3.0
770+
%End
763771

772+
QgsAbstract3DRenderer *renderer3D() const;
773+
%Docstring
774+
Returns 3D renderer associated with the layer. May be null.
775+
.. note::
776+
777+
not available in Python bindings
778+
.. versionadded:: 3.0
779+
:rtype: QgsAbstract3DRenderer
780+
%End
764781

765782
bool isInScaleRange( double scale ) const;
766783
%Docstring

‎scripts/spell_check/check_spelling.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
# fi
2424

2525
# extensions or files that should be excluded from file list if :% is appended in the spelling.dat file
26-
EXCLUDE_SCRIPT_LIST='(\.(xml|svg|sip|t2t|pl|sh|qgs|badquote|cmake(\.in)?)|^(debian/copyright|cmake_templates/.*|INSTALL|NEWS|tests/testdata/labeling/README.rst|tests/testdata/font/QGIS-Vera/COPYRIGHT.TXT|doc/(news|INSTALL)\.html))$'
26+
EXCLUDE_SCRIPT_LIST='(\.(xml|svg|sip|t2t|pl|sh|qgs|badquote|cmake(\.in)?)|^(debian/copyright|cmake_templates/.*|INSTALL|NEWS|tests/testdata/labeling/README.rst|tests/testdata/font/QGIS-Vera/COPYRIGHT.TXT|doc/(news|INSTALL)\.html)|src/3d/poly2tri/.*)$'
2727

2828
DIR=$(git rev-parse --show-toplevel)/scripts/spell_check
2929

‎src/core/3d/qgs3drendererregistry.cpp

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
#include "qgs3drendererregistry.h"
22

33

4-
Qgs3DRendererAbstractMetadata::Qgs3DRendererAbstractMetadata( const QString &name )
5-
: mName( name )
4+
Qgs3DRendererAbstractMetadata::Qgs3DRendererAbstractMetadata( const QString &type )
5+
: mType( type )
66
{
77
}
88

9-
QString Qgs3DRendererAbstractMetadata::name() const
9+
Qgs3DRendererAbstractMetadata::~Qgs3DRendererAbstractMetadata()
1010
{
11-
return mName;
11+
}
12+
13+
QString Qgs3DRendererAbstractMetadata::type() const
14+
{
15+
return mType;
1216
}
1317

1418

@@ -26,17 +30,17 @@ Qgs3DRendererRegistry::~Qgs3DRendererRegistry()
2630

2731
void Qgs3DRendererRegistry::addRenderer( Qgs3DRendererAbstractMetadata *metadata )
2832
{
29-
mRenderers.insert( metadata->name(), metadata );
33+
mRenderers.insert( metadata->type(), metadata );
3034
}
3135

32-
void Qgs3DRendererRegistry::removeRenderer( const QString &name )
36+
void Qgs3DRendererRegistry::removeRenderer( const QString &type )
3337
{
34-
delete mRenderers.take( name );
38+
delete mRenderers.take( type );
3539
}
3640

37-
Qgs3DRendererAbstractMetadata *Qgs3DRendererRegistry::rendererMetadata( const QString &name ) const
41+
Qgs3DRendererAbstractMetadata *Qgs3DRendererRegistry::rendererMetadata( const QString &type ) const
3842
{
39-
return mRenderers.value( name );
43+
return mRenderers.value( type );
4044
}
4145

4246
QStringList Qgs3DRendererRegistry::renderersList() const

‎src/core/3d/qgs3drendererregistry.h

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#define QGS3DRENDERERREGISTRY_H
33

44
#include "qgis_core.h"
5+
#include "qgis_sip.h"
56

67
#include <QMap>
78

@@ -19,17 +20,29 @@ class CORE_EXPORT Qgs3DRendererAbstractMetadata
1920
{
2021
public:
2122

22-
Qgs3DRendererAbstractMetadata( const QString &name );
23+
virtual ~Qgs3DRendererAbstractMetadata();
2324

24-
QString name() const;
25+
/**
26+
* Returns unique identifier of the 3D renderer class
27+
*/
28+
QString type() const;
2529

26-
/** Return new instance of the renderer given the DOM element. Returns NULL on error.
27-
* Pure virtual function: must be implemented in derived classes. */
28-
virtual QgsAbstract3DRenderer *createRenderer( QDomElement &elem, const QgsReadWriteContext &context ) = 0;
30+
/**
31+
* Returns new instance of the renderer given the DOM element. Returns NULL on error.
32+
* Pure virtual function: must be implemented in derived classes.
33+
*/
34+
virtual QgsAbstract3DRenderer *createRenderer( QDomElement &elem, const QgsReadWriteContext &context ) = 0 SIP_FACTORY;
2935

3036
protected:
31-
//! name used within QGIS for identification (the same what renderer's type() returns)
32-
QString mName;
37+
38+
/**
39+
* Constructor of the base class
40+
*/
41+
explicit Qgs3DRendererAbstractMetadata( const QString &type );
42+
43+
protected:
44+
//! Type used within QGIS for identification (the same what renderer's type() returns)
45+
QString mType;
3346
};
3447

3548

@@ -45,13 +58,24 @@ class CORE_EXPORT Qgs3DRendererRegistry
4558

4659
~Qgs3DRendererRegistry();
4760

48-
//! takes ownership
49-
void addRenderer( Qgs3DRendererAbstractMetadata *metadata );
61+
/**
62+
* Registers a new 3D renderer type. The call takes ownership of the passed metadata object.
63+
*/
64+
void addRenderer( Qgs3DRendererAbstractMetadata *metadata SIP_TRANSFER );
5065

51-
void removeRenderer( const QString &name );
66+
/**
67+
* Unregisters a 3D renderer type
68+
*/
69+
void removeRenderer( const QString &type );
5270

53-
Qgs3DRendererAbstractMetadata *rendererMetadata( const QString &name ) const;
71+
/**
72+
* Returns metadata for a 3D renderer type (may be used to create a new instance of the type)
73+
*/
74+
Qgs3DRendererAbstractMetadata *rendererMetadata( const QString &type ) const;
5475

76+
/**
77+
* Returns a list of all available 3D renderer types.
78+
*/
5579
QStringList renderersList() const;
5680

5781
private:

0 commit comments

Comments
 (0)
Please sign in to comment.