Skip to content

Commit

Permalink
Merge pull request #9 from Danaozhong/task/add-libraries_for_macos_qg…
Browse files Browse the repository at this point in the history
…is_3_36_3

add the QGIS libraries for QGIS version 3.36.3 (macOS)
  • Loading branch information
Danaozhong authored Jun 27, 2024
2 parents 4db540f + bf31930 commit 5a932d3
Show file tree
Hide file tree
Showing 2,390 changed files with 528,058 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/build-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
qgis_version: [3_34_2]
qgis_version: [3_34_2, 3_36_3]

steps:
- uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

#ifndef _3D_EXPORT_H
#define _3D_EXPORT_H

#ifdef _3D_STATIC_DEFINE
# define _3D_EXPORT
# define _3D_NO_EXPORT
#else
# ifndef _3D_EXPORT
# ifdef qgis_3d_EXPORTS
/* We are building this library */
# define _3D_EXPORT __attribute__((visibility("default")))
# else
/* We are using this library */
# define _3D_EXPORT __attribute__((visibility("default")))
# endif
# endif

# ifndef _3D_NO_EXPORT
# define _3D_NO_EXPORT __attribute__((visibility("hidden")))
# endif
#endif

#ifndef _3D_DEPRECATED
# define _3D_DEPRECATED __attribute__ ((__deprecated__))
#endif

#ifndef _3D_DEPRECATED_EXPORT
# define _3D_DEPRECATED_EXPORT _3D_EXPORT _3D_DEPRECATED
#endif

#ifndef _3D_DEPRECATED_NO_EXPORT
# define _3D_DEPRECATED_NO_EXPORT _3D_NO_EXPORT _3D_DEPRECATED
#endif

#if 0 /* DEFINE_NO_DEPRECATED */
# ifndef _3D_NO_DEPRECATED
# define _3D_NO_DEPRECATED
# endif
#endif

#endif /* _3D_EXPORT_H */
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
/***************************************************************************
qgs3d.h
--------
begin : July 2020
copyright : (C) 2020 by Nyall Dawson
email : nyall dot dawson at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#ifndef QGS3D_H
#define QGS3D_H

#include "qgis_3d.h"
#include "qgis_sip.h"

class QgsMaterialRegistry;

/**
* \ingroup gui
* \brief Qgs3D is a singleton class containing various registries and other global members
* related to 3D classes.
* \since QGIS 3.16
*/
class _3D_EXPORT Qgs3D
{

public:

//! Qgs3D cannot be copied
Qgs3D( const Qgs3D &other ) = delete;

//! Qgs3D cannot be copied
Qgs3D &operator=( const Qgs3D &other ) = delete;

/**
* Returns a pointer to the singleton instance.
*/
static Qgs3D *instance();

~Qgs3D();

/**
* Initializes the 3D framework.
*/
static void initialize();

/**
* Returns the material registry, used for managing 3D materials.
*/
static QgsMaterialRegistry *materialRegistry();

private:

Qgs3D();

#ifdef SIP_RUN
Qgs3D( const Qgs3D &other );
#endif

bool mInitialized = false;

QgsMaterialRegistry *mMaterialRegistry = nullptr;

};

#endif // QGS3D_H
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/***************************************************************************
qgs3dalgorithms.h
---------------------
begin : November 2017
copyright : (C) 2017 by Nyall Dawson
email : nyall dot dawson at gmail dot com
***************************************************************************/

/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#ifndef QGS3DALGORITHMS_H
#define QGS3DALGORITHMS_H

#include "qgis_3d.h"
#include "qgis.h"
#include "qgsprocessingprovider.h"

/**
* \ingroup analysis
* \class Qgs3DAlgorithms
* \brief QGIS 3D processing algorithm provider.
*/
class _3D_EXPORT Qgs3DAlgorithms: public QgsProcessingProvider
{
Q_OBJECT

public:

/**
* Constructor for Qgs3DAlgorithms.
*/
Qgs3DAlgorithms( QObject *parent = nullptr );

QIcon icon() const override;
QString svgIconPath() const override;
QString id() const override;
QString helpId() const override;
QString name() const override;
bool supportsNonFileBasedOutput() const override;

protected:

void loadAlgorithms() override;

};

#endif // QGS3DALGORITHMS_H


Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/***************************************************************************
qgs3danimationsettings.h
--------------------------------------
Date : July 2018
Copyright : (C) 2018 by Martin Dobias
Email : wonder dot sk at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/

#ifndef QGS3DANIMATIONSETTINGS_H
#define QGS3DANIMATIONSETTINGS_H

#include "qgsvector3d.h"
#include "qgis_3d.h"

#include <QEasingCurve>
#include <QVector>

class QDomDocument;
class QDomElement;
class QgsReadWriteContext;

#define SIP_NO_FILE

/**
* \ingroup 3d
* \brief Class that holds information about animation in 3D view. The animation is defined
* as a series of keyframes
* \note Not available in Python bindings
* \since QGIS 3.8
*/
class _3D_EXPORT Qgs3DAnimationSettings
{
public:
//! ctor
Qgs3DAnimationSettings();

//! keyframe definition
struct Keyframe
{
float time = 0; //!< Relative time of the keyframe in seconds
QgsVector3D point; //!< Point towards which the camera is looking in 3D world coords
float dist = 0; //!< Distance of the camera from the focal point
float pitch = 0; //!< Tilt of the camera in degrees (0 = looking from the top, 90 = looking from the side, 180 = looking from the bottom)
float yaw = 0; //!< Horizontal rotation around the focal point in degrees
};

typedef QVector<Keyframe> Keyframes;

//! Configures keyframes of the animation. It is expected that the keyframes are ordered according to their time.
void setKeyframes( const Keyframes &keyframes ) { mKeyframes = keyframes; }
//! Returns keyframes of the animation
Keyframes keyFrames() const { return mKeyframes; }

//! Sets the interpolation method for transitions of the camera
void setEasingCurve( const QEasingCurve &curve ) { mEasingCurve = curve; }
//! Returns the interpolation method for transitions of the camera
QEasingCurve easingCurve() const { return mEasingCurve; }

//! Returns duration of the whole animation in seconds
float duration() const;

//! Interpolates camera position and rotation at the given point in time
Keyframe interpolate( float time ) const;

//! Reads configuration from a DOM element previously written by writeXml()
void readXml( const QDomElement &elem );
//! Writes configuration to a DOM element, to be used later with readXml()
QDomElement writeXml( QDomDocument &doc ) const;

private:
Keyframes mKeyframes;
QEasingCurve mEasingCurve;
};

Q_DECLARE_METATYPE( Qgs3DAnimationSettings::Keyframe )

#endif // QGS3DANIMATIONSETTINGS_H
Loading

0 comments on commit 5a932d3

Please sign in to comment.