亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ogrwritabledwgdatasource.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
字號:
/****************************************************************************** * $Id: ogrwritabledwgdatasource.cpp 10646 2007-01-18 02:38:10Z warmerdam $ * * Project:  OpenGIS Simple Features Reference Implementation * Purpose:  Implements OGRWritableDWGDataSource class. * Author:   Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 2005, Frank Warmerdam <warmerdam@pobox.com> * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****************************************************************************/#include "ogr_dwg.h"#include "cpl_conv.h"#include "cpl_string.h"#include "Ge/GeCircArc2d.h"#include "Ge/GeScale3d.h"#include "Ge/GeExtents3d.h"#include "DbViewportTable.h"#include "DbViewportTableRecord.h"#include "DbViewport.h"#include "DbBlockTable.h"#include "DbBlockTableRecord.h"#include "DbCircle.h"#include "DbLayerTable.h"#include "DbLayerTableRecord.h"CPL_CVSID("$Id: ogrwritabledwgdatasource.cpp 10646 2007-01-18 02:38:10Z warmerdam $");/************************************************************************//*                      OGRWritableDWGDataSource()                      *//************************************************************************/OGRWritableDWGDataSource::OGRWritableDWGDataSource( const char *pszOutClass ){    osOutClass = pszOutClass;    papszOptions = NULL;    nLayers = 0;    papoLayers = NULL;}/************************************************************************//*                     ~OGRWritableDWGDataSource()                      *//************************************************************************/OGRWritableDWGDataSource::~OGRWritableDWGDataSource(){    OdDb::SaveType fileType = OdDb::kDwg;    OdDb::DwgVersion outVer = OdDb::vAC12;    OdWrFileBuf fb(osFilename);    if( osOutClass == "DWG" )         fileType = OdDb::kDwg;    else if( osOutClass == "DXF" )        fileType = OdDb::kDxf;    const char *pszVersion = CSLFetchNameValue( papszOptions, "VERSION" );    if( pszVersion == NULL )        outVer = OdDb::vAC12;    else if( EQUAL(pszVersion,"12" ) )        outVer = OdDb::vAC12;    else if( EQUAL(pszVersion,"13" ) )        outVer = OdDb::vAC13;    else if( EQUAL(pszVersion,"14" ) )        outVer = OdDb::vAC14;    else if( EQUAL(pszVersion,"15" ) )        outVer = OdDb::vAC15;    else if( EQUAL(pszVersion,"18" ) )        outVer = OdDb::vAC18;    /* -------------------------------------------------------------------- *//*      Reset the viewports based on the available data extents.        *//* -------------------------------------------------------------------- */    try     {        pDb->setEXTMIN(OdGePoint3d(sExtent.MinX, sExtent.MinY, 0));        pDb->setEXTMAX(OdGePoint3d(sExtent.MaxX, sExtent.MaxY, 0));        pVp->setCenterPoint(OdGePoint3d((sExtent.MinX + sExtent.MaxX) * 0.5,                                        (sExtent.MinY + sExtent.MaxY) * 0.5,                                        0 ) );        pVp->setWidth( sExtent.MaxX - sExtent.MinX );        pVp->setHeight( sExtent.MaxY - sExtent.MinY );                pVp->setViewCenter(OdGePoint2d((sExtent.MinX + sExtent.MaxX) * 0.5,                                        (sExtent.MinY + sExtent.MaxY) * 0.5));        pVp->setViewTarget(OdGePoint3d((sExtent.MinX + sExtent.MaxX) * 0.5,                                        (sExtent.MinY + sExtent.MaxY) * 0.5,                                        0 ) );        pVp->setViewDirection(OdGeVector3d(0, 0, 1));        pVp->setViewHeight(sExtent.MaxY - sExtent.MinY);        pVp->setCenterPoint(OdGePoint3d((sExtent.MinX + sExtent.MaxX) * 0.5,                                        (sExtent.MinY + sExtent.MaxY) * 0.5,                                        0 ) );        pVm->setWidth( sExtent.MaxX - sExtent.MinX );        pVm->setHeight( sExtent.MaxY - sExtent.MinY );        pVm->zoomExtents();        pVm->setViewCenter(OdGePoint2d((sExtent.MinX + sExtent.MaxX) * 0.5,                                        (sExtent.MinY + sExtent.MaxY) * 0.5));        pVm->setViewTarget(OdGePoint3d((sExtent.MinX + sExtent.MaxX) * 0.5,                                        (sExtent.MinY + sExtent.MaxY) * 0.5,                                        0 ) );        pVm->setViewDirection(OdGeVector3d(0, 0, 1));        pVm->setViewHeight(sExtent.MaxY - sExtent.MinY);    }    catch( OdError& e )    {        CPLError( CE_Failure, CPLE_AppDefined,                  "resetting extents:%s",                   (const char *) e.description() );    }/* -------------------------------------------------------------------- *//*      Release all pointer references.                                 *//* -------------------------------------------------------------------- */    pVp->release();    pVm->release();    pPs->release();    pMs->release();        /* -------------------------------------------------------------------- *//*      Write out file.                                                 *//* -------------------------------------------------------------------- */    try     {        pDb->writeFile(&fb, fileType, outVer, true);    }    catch( OdError& e )    {        CPLError( CE_Failure, CPLE_AppDefined,                  "writeFile:%s",                   (const char *) e.description() );    }    CSLDestroy( papszOptions );}/************************************************************************//*                               Create()                               *//************************************************************************/int OGRWritableDWGDataSource::Create( const char *pszFilename,                                       char **papszOptionsIn ){    osFilename = pszFilename;    papszOptions = CSLDuplicate( papszOptionsIn );//    svcs.disableOutput(false);    odInitialize(&svcs);    pDb = svcs.createDatabase();    // Set the drawing extents    pDb->setEXTMIN(OdGePoint3d(-10000000.0, -10000000.0, 0));    pDb->setEXTMAX(OdGePoint3d(10000000.0, 10000000.0, 0));    // Set Creation and last update times    OdDbDate date;    date.setDate(1, 20, 2001);    date.setTime(13, 0, 0, 0);    odDbSetTDUCREATE(*pDb, date);    date.setTime(18, 30, 0, 0);    odDbSetTDUUPDATE(*pDb, date);    pDb->setTILEMODE(1);  // 0 for paperspace, 1 for modelspace//    pDb->newRegApp("ODA");/* -------------------------------------------------------------------- *//*      paper space viewport.                                           *//* -------------------------------------------------------------------- */    pPs = pDb->getPaperSpaceId().safeOpenObject(OdDb::kForWrite);    pVp = OdDbViewport::createObject();      pVp->setCenterPoint(OdGePoint3d(0, 0, 0));    pVp->setWidth(10000);    pVp->setHeight(10000);    pVp->setViewTarget(OdGePoint3d(0, 0, 0));    pVp->setViewDirection(OdGeVector3d(0, 0, 1));    pVp->setViewHeight(9.0);    pVp->setLensLength(50.0);    pVp->setViewCenter(OdGePoint2d(5.375, 4.125));    pVp->setSnapIncrement(OdGeVector2d(0.5, 0.5));    pVp->setGridIncrement(OdGeVector2d(0.5, 0.5));    pVp->setCircleSides(OdUInt16(100));    pPs->appendOdDbEntity(pVp);/* -------------------------------------------------------------------- *//*      model space viewport.                                           *//* -------------------------------------------------------------------- */    pMs = pDb->getModelSpaceId().safeOpenObject(OdDb::kForWrite);    pVm = OdDbViewport::createObject();      pVm->setCenterPoint(OdGePoint3d(0,0,0));    pVm->setWidth(10000);    pVm->setHeight(10000);    pVm->setViewTarget(OdGePoint3d(0, 0, 0));    pVm->setViewDirection(OdGeVector3d(0, 0, 1));    pVm->setViewHeight(9.0);    pVm->setLensLength(50.0);    pVm->setViewCenter(OdGePoint2d(5.375, 4.125));    pVm->setSnapIncrement(OdGeVector2d(0.5, 0.5));    pVm->setGridIncrement(OdGeVector2d(0.5, 0.5));    pVm->setCircleSides(OdUInt16(100));    pMs->appendOdDbEntity(pVm);    return TRUE;}/************************************************************************//*                           TestCapability()                           *//************************************************************************/int OGRWritableDWGDataSource::TestCapability( const char * pszCap ){    if( EQUAL(pszCap,ODsCCreateLayer) )        return TRUE;    else        return FALSE;}/************************************************************************//*                              GetName()                               *//************************************************************************/const char *OGRWritableDWGDataSource::GetName()    {    return osFilename;}/************************************************************************//*                              GetLayer()                              *//************************************************************************/OGRLayer *OGRWritableDWGDataSource::GetLayer( int iLayer )    {    if( iLayer < 0 || iLayer >= nLayers )        return NULL;    else        return papoLayers[iLayer];}/************************************************************************//*                            CreateLayer()                             *//************************************************************************/OGRLayer *OGRWritableDWGDataSource::CreateLayer( const char *pszLayerName,                                                  OGRSpatialReference *,                                                  OGRwkbGeometryType,                                                  char ** papszLayerOptions )    {    OGRWritableDWGLayer *poLayer;    poLayer = new OGRWritableDWGLayer( pszLayerName, papszLayerOptions,                                        this );    papoLayers = (OGRWritableDWGLayer **)         CPLRealloc(papoLayers, sizeof(void*) * ++nLayers );    papoLayers[nLayers-1] = poLayer;    return poLayer;}/************************************************************************//*                            ExtendExtent()                            *//************************************************************************/void OGRWritableDWGDataSource::ExtendExtent( OGRGeometry * poGeometry ){    if( poGeometry == NULL )        return;    OGREnvelope sThisEnvelope;    poGeometry->getEnvelope( &sThisEnvelope );    sExtent.Merge( sThisEnvelope );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产欧美一区二区成人| 亚洲精品日产精品乱码不卡| 国产成人精品免费在线| 久久久99精品免费观看| 成人自拍视频在线观看| 亚洲日本中文字幕区| 欧美唯美清纯偷拍| 蜜桃视频一区二区三区在线观看| 精品久久久久一区| 国产 日韩 欧美大片| ...av二区三区久久精品| 在线观看成人小视频| 日韩中文字幕麻豆| 久久综合九色综合97婷婷| av在线播放不卡| 亚洲第一福利一区| 精品国内片67194| 成人v精品蜜桃久久一区| 亚洲一区免费观看| 日韩欧美国产电影| 成人午夜av电影| 亚洲午夜在线电影| 精品国产免费一区二区三区香蕉| 粗大黑人巨茎大战欧美成人| 亚洲国产综合在线| 久久久久久久久久久久久久久99| 91丨九色丨国产丨porny| 视频一区二区欧美| 国产日韩欧美a| 欧美日韩一区二区三区四区五区| 久久er99热精品一区二区| 国产精品盗摄一区二区三区| 欧美精品在线视频| 国产成人一区在线| 亚洲国产人成综合网站| 精品av久久707| 色噜噜狠狠色综合欧洲selulu| 蜜桃视频一区二区| 亚洲青青青在线视频| 日韩一区二区在线免费观看| 不卡av在线网| 麻豆精品一二三| 亚洲精品免费在线观看| 精品国产乱码久久久久久1区2区| 色呦呦网站一区| 另类调教123区| 一区二区三区国产| 国产欧美精品一区二区色综合朱莉 | 亚洲国产精品视频| 久久婷婷久久一区二区三区| 欧美专区亚洲专区| 国产91丝袜在线播放0| 日韩精品欧美精品| 18欧美乱大交hd1984| 精品久久五月天| 在线观看日韩国产| 成人性视频免费网站| 免费成人在线播放| 一区二区三区四区不卡在线| 久久夜色精品国产欧美乱极品| 欧美亚洲愉拍一区二区| 东方欧美亚洲色图在线| 蜜臀av一区二区| 亚洲综合色丁香婷婷六月图片| 久久九九99视频| 日韩欧美www| 欧美日韩在线亚洲一区蜜芽| av爱爱亚洲一区| 国产精品自产自拍| 麻豆中文一区二区| 性久久久久久久| 中文字幕亚洲精品在线观看| 久久精品夜色噜噜亚洲a∨| 欧美一区二区三区在线观看| 欧美性xxxxx极品少妇| 波多野结衣精品在线| 国内精品伊人久久久久av一坑 | 久久免费视频色| 欧美一区二区大片| 欧美天天综合网| 色噜噜狠狠成人中文综合| 成人丝袜18视频在线观看| 国产一区二区在线观看视频| 日韩一区精品视频| 亚洲一区二区欧美激情| ㊣最新国产の精品bt伙计久久| 国产日韩精品视频一区| 精品福利视频一区二区三区| 日韩亚洲欧美成人一区| 欧美日韩在线播放一区| 在线观看一区二区视频| 91黄视频在线观看| 91色porny| 91老司机福利 在线| 成人avav影音| a在线播放不卡| av不卡免费在线观看| 成人av午夜电影| 国产不卡视频在线观看| 国产精品99久久久久| 国产精品综合一区二区三区| 精品在线一区二区| 极品少妇xxxx精品少妇偷拍| 久久精品99国产精品| 另类中文字幕网| 极品少妇一区二区| 国产伦理精品不卡| 国产成人激情av| 成人网页在线观看| 99久久99久久精品国产片果冻| 99这里只有久久精品视频| 成人成人成人在线视频| jlzzjlzz亚洲日本少妇| 91网址在线看| 欧美综合天天夜夜久久| 欧美日韩和欧美的一区二区| 91麻豆精品国产自产在线观看一区 | 亚洲女爱视频在线| 一区二区久久久久| 亚洲成av人影院在线观看网| 丝瓜av网站精品一区二区| 免费成人美女在线观看| 韩国精品主播一区二区在线观看| 国产最新精品精品你懂的| 国产高清精品网站| jlzzjlzz国产精品久久| 在线亚洲一区二区| 欧美日韩亚洲综合| 日韩一卡二卡三卡四卡| 久久亚洲综合色一区二区三区| 国产婷婷色一区二区三区四区 | 欧美日韩一区在线| 91精品欧美一区二区三区综合在 | 精品卡一卡二卡三卡四在线| 久久久www免费人成精品| 日本一区二区三区免费乱视频 | 国产精品伦理在线| 亚洲色欲色欲www| 亚洲成精国产精品女| 久久机这里只有精品| 成人一区二区在线观看| 91久久精品一区二区二区| 8v天堂国产在线一区二区| 久久日韩精品一区二区五区| 中文av字幕一区| 亚洲国产精品久久久久婷婷884| 毛片av一区二区三区| 成人小视频免费在线观看| 91福利在线观看| 精品国产一区二区三区忘忧草| 中文字幕久久午夜不卡| 亚洲成av人综合在线观看| 韩国一区二区在线观看| 97se亚洲国产综合自在线| 欧美日韩国产成人在线免费| 久久久国产一区二区三区四区小说 | 亚洲男同1069视频| 蜜臀99久久精品久久久久久软件| 国产成人av影院| 欧美主播一区二区三区美女| 久久影院午夜论| 一区二区欧美在线观看| 国产乱码精品一区二区三区av | 亚洲精品免费电影| 美国十次了思思久久精品导航| 福利一区二区在线观看| 91国产免费看| 久久精品视频一区二区| 亚洲第一久久影院| 国产白丝网站精品污在线入口| 欧美日韩一级二级三级| 国产欧美精品一区| 丝袜美腿亚洲一区二区图片| 成人午夜电影小说| 日韩一级片在线观看| 自拍偷拍亚洲综合| 一区二区三区不卡视频 | 国产suv精品一区二区三区| 色女孩综合影院| 精品国产91久久久久久久妲己| 亚洲一区视频在线| 国产精品88av| 欧美精品亚洲二区| 亚洲四区在线观看| 久久不见久久见中文字幕免费| 91丨porny丨在线| 欧美日韩一区二区在线观看| 久久久亚洲欧洲日产国码αv| 亚洲综合成人在线视频| 国产乱淫av一区二区三区| 欧美综合视频在线观看| 国产精品毛片久久久久久| 亚洲第一成年网| 豆国产96在线|亚洲| 91.麻豆视频| 一区二区三区四区不卡在线| 国产麻豆9l精品三级站| 在线电影院国产精品| 亚洲免费观看高清完整版在线观看熊| 九九久久精品视频|