Skip to content
Permalink
Browse files
Merge branch 'master' of https://github.com/qgis/QGIS
  • Loading branch information
mach0 committed Feb 10, 2014
2 parents df0a443 + e67eb4a commit e6fe97f0c7d32a0bdf876693adf126142c46e934
@@ -79,6 +79,12 @@ class CORE_EXPORT QgsComposerMouseHandles: public QObject, public QGraphicsRectI
/**Finds out which mouse move action to choose depending on the scene cursor position*/
QgsComposerMouseHandles::MouseAction mouseActionForScenePos( const QPointF& sceneCoordPos );

/**Returns true is user is currently dragging the handles */
bool isDragging() { return mIsDragging; }

/**Returns true is user is currently resizing with the handles */
bool isResizing() { return mIsResizing; }

protected:

void mouseMoveEvent( QGraphicsSceneMouseEvent* event );
@@ -834,8 +834,11 @@ void QgsDxfExport::writePolyline( const QgsPolyline& line, const QString& layer,
writeGroup( 66, 1 );
int type = polygon ? 1 : 0;
writeGroup( 70, type );
writeGroup( 40, width );
writeGroup( 41, width );
if ( width > 0 ) //width -1: use default width
{
writeGroup( 40, width );
writeGroup( 41, width );
}

QgsPolyline::const_iterator lineIt = line.constBegin();
for ( ; lineIt != line.constEnd(); ++lineIt )
@@ -955,7 +958,11 @@ void QgsDxfExport::addFeature( const QgsSymbolV2RenderContext& ctx, const QStrin
{
c = colorFromSymbolLayer( symbolLayer, ctx );
}
double width = symbolLayer->dxfWidth( *this, ctx );
double width = -1;
if ( mSymbologyExport != NoSymbology && symbolLayer )
{
width = symbolLayer->dxfWidth( *this, ctx );
}
QString lineStyleName = "CONTINUOUS";
if ( mSymbologyExport != NoSymbology )
{
@@ -277,6 +277,7 @@ QgsCoordinateReferenceSystem& QgsCoordinateReferenceSystem::operator=( const Qgs
mIsValidFlag = srs.mIsValidFlag;
mValidationHint = srs.mValidationHint;
mWkt = srs.mWkt;
mProj4 = srs.mProj4;
if ( mIsValidFlag )
{
OSRDestroySpatialReference( mCRS );
@@ -368,7 +369,7 @@ bool QgsCoordinateReferenceSystem::loadFromDb( QString db, QString expression, Q
myPreparedStatement, 1 ) );
mProjectionAcronym = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 2 ) );
mEllipsoidAcronym = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 3 ) );
QString toProj4 = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 4 ) );
mProj4 = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 4 ) );
mSRID = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 5 ) ).toLong();
mAuthId = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 6 ) );
mGeoFlag = QString::fromUtf8(( char * )sqlite3_column_text( myPreparedStatement, 7 ) ).toInt() != 0;
@@ -388,7 +389,7 @@ bool QgsCoordinateReferenceSystem::loadFromDb( QString db, QString expression, Q

if ( !mIsValidFlag )
{
setProj4String( toProj4 );
setProj4String( mProj4 );
}
}
else
@@ -430,6 +431,7 @@ bool QgsCoordinateReferenceSystem::createFromWkt( const QString &theWkt )
{
mIsValidFlag = false;
mWkt.clear();
mProj4.clear();

if ( theWkt.isEmpty() )
{
@@ -874,14 +876,16 @@ QString QgsCoordinateReferenceSystem::toProj4() const
if ( !mIsValidFlag )
return "";

QString toProj4;
char *proj4src = NULL;
OSRExportToProj4( mCRS, &proj4src );
toProj4 = proj4src;
CPLFree( proj4src );

if ( mProj4.isEmpty() )
{
QString toProj4;
char *proj4src = NULL;
OSRExportToProj4( mCRS, &proj4src );
mProj4 = proj4src;
CPLFree( proj4src );
}
// Stray spaces at the end?
return toProj4.trimmed();
return mProj4.trimmed();
}

bool QgsCoordinateReferenceSystem::geographicFlag() const
@@ -916,6 +920,7 @@ void QgsCoordinateReferenceSystem::setDescription( QString theDescription )
}
void QgsCoordinateReferenceSystem::setProj4String( QString theProj4String )
{
mProj4 = theProj4String;
char *oldlocale = setlocale( LC_NUMERIC, NULL );
/* the next setlocale() invalides the return of previous setlocale() */
if ( oldlocale )
@@ -1462,6 +1467,12 @@ bool QgsCoordinateReferenceSystem::saveAsUserCRS( QString name )

QString mySql;

QString proj4String=mProj4;
if ( proj4String.isEmpty() )
{
proj4String = toProj4();
}

//if this is the first record we need to ensure that its srs_id is 10000. For
//any rec after that sqlite3 will take care of the autonumering
//this was done to support sqlite 3.0 as it does not yet support
@@ -465,6 +465,7 @@ class CORE_EXPORT QgsCoordinateReferenceSystem

QString mValidationHint;
mutable QString mWkt;
mutable QString mProj4;

static bool loadIDs( QHash<int, QString> &wkts );
static bool loadWkts( QHash<int, QString> &wkts, const char *filename );
@@ -2530,6 +2530,9 @@ int QgsGeometry::addPart( const QList<QgsPoint> &points, QGis::GeometryType geom

int QgsGeometry::addPart( QgsGeometry *newPart )
{
if( !newPart )
return 4;

const GEOSGeometry * geosPart = newPart->asGeos();
return addPart( GEOSGeom_clone( geosPart ) );
}
@@ -3028,6 +3031,9 @@ int QgsGeometry::reshapeGeometry( const QList<QgsPoint>& reshapeWithLine )
int QgsGeometry::makeDifference( QgsGeometry* other )
{
//make sure geos geometry is up to date
if ( !other )
return 1;

if ( mDirtyGeos )
exportWkbToGeos();

@@ -3323,6 +3329,9 @@ bool QgsGeometry::intersects( const QgsRectangle& r ) const

bool QgsGeometry::intersects( const QgsGeometry* geometry ) const
{
if( !geometry )
return false;

try // geos might throw exception on error
{
// ensure that both geometries have geos geometry
@@ -3344,6 +3353,12 @@ bool QgsGeometry::contains( const QgsPoint* p ) const
{
exportWkbToGeos();

if ( !p )
{
QgsDebugMsg( "pointer p is 0" );
return false;
}

if ( !mGeos )
{
QgsDebugMsg( "GEOS geometry not available!" );
@@ -3376,6 +3391,9 @@ bool QgsGeometry::geosRelOp(
const QgsGeometry *a,
const QgsGeometry *b )
{
if( !a || !b )
return false;

try // geos might throw exception on error
{
// ensure that both geometries have geos geometry
@@ -4745,7 +4763,6 @@ GEOSGeometry* QgsGeometry::reshapePolygon( const GEOSGeometry* polygon, const GE
return 0;
}


GEOSGeometry* newOuterRing = 0;
if ( lastIntersectingRing == -1 )
newOuterRing = newRing;

0 comments on commit e6fe97f

Please sign in to comment.