青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎(chǔ)} {C++ 高級} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

objectARX常用代碼2

設(shè)置當(dāng)前的layer和textstyle
// ?Function?name????:?SetCurTextStyle
// ?Description????????:?設(shè)置當(dāng)前TextStyle
// ?Return?type????????:?Acad::ErrorStatus?
// ?Argument?????????:?const?char*?lpStyleName
// ?Argument?????????:?AcDbDatabase*?pDb/*?=?NULL?*/
Acad::ErrorStatus?SetCurTextStyle( const ? char * ?lpStyleName,?AcDbDatabase * ?pDb /* ?=?NULL? */ )
{
????AcDbDatabase
* ?pCurDb? = ?pDb;
????
if ?(pCurDb? == ?NULL)
????????pCurDb?
= ?acdbHostApplicationServices() -> workingDatabase();

????AcDbTextStyleTableRecordPointer?spRecord(lpStyleName,?pCurDb,?AcDb::kForRead);
????Acad::ErrorStatus?es?
= ?spRecord.openStatus();
????
if ?(es? == ?Acad::eOk)
????
{
????????es?
= ??pCurDb -> setTextstyle(spRecord -> objectId());
????}

????
return ?es;
}



// ?Function?name????:?SetCurLayer
// ?Description????????:?設(shè)置當(dāng)前層
// ?Return?type????????:?Acad::ErrorStatus?
// ?Argument?????????:?const?char*?lpLayerName
// ?Argument?????????:?AcDbDatabase*?pDb/*?=?NULL?*/
Acad::ErrorStatus?SetCurLayer( const ? char * ?lpLayerName,?AcDbDatabase * ?pDb /* ?=?NULL? */ )
{
????AcDbDatabase
* ?pCurDb? = ?pDb;
????
if ?(pCurDb? == ?NULL)
????????pCurDb?
= ?acdbHostApplicationServices() -> workingDatabase();

????AcDbLayerTableRecordPointer?spRecord(lpLayerName,?pCurDb,?AcDb::kForRead);
????Acad::ErrorStatus?es?
= ?spRecord.openStatus();
????
if ?(es? == ?Acad::eOk)
????
{
????????es?
= ??pCurDb -> setClayer(spRecord -> objectId());
????}

????
return ?es;
}



//功能描述:選擇指定圖層上的所有實(shí)體!

// ************************************************************************
// 函數(shù)名稱:selectEntityInLayer
// 函數(shù)類型:Acad::ErrorStatus?
// 返回值:??正常:Acad::eOk
// 功能描述:選擇指定圖層上的所有實(shí)體!
// 函數(shù)作者:Darcy
// 創(chuàng)建日期:200X-XX-XX
// 參數(shù)列表:
// 變量名:nLayerName?????變量類型:const?char*???????????變量說明:(輸入)圖層名
// 變量名:nIDs???????????變量類型:AcDbObjectIdArray&????變量說明:(輸出)圖層中實(shí)體的對象標(biāo)識符集合
// ************************************************************************
Acad::ErrorStatus?selectEntityInLayer( const ? char * ?nLayerName,AcDbObjectIdArray & ?nIDs)
{
????Acad::ErrorStatus?es?
= ?Acad::eOk;

????ads_name?ents;
????
struct ?resbuf? * rb;
????rb
= acutNewRb(AcDb::kDxfLayerName);
????rb
-> restype = 8 ;
????rb
-> resval.rstring = ( char * )nLayerName;
????rb
-> rbnext = NULL;
????acedSSGet(
" X " ,NULL,NULL,rb,ents);
????
long ?entNums = 0 ;
????acedSSLength(ents,
& entNums);
????
if ?(entNums? == ? 0 )
????????es?
= ?Acad::eInvalidInput;
????
else
????
{
????????
for ?( long ?a? = ? 0 ;?a? < ?entNums?;?a? ++ )
????????
{
????????????AcDbObjectId??objId;
????????????ads_name??????ent;
????????????acedSSName(ents,a,ent);
????????????acdbGetObjectId(objId,?ent);
????????????nIDs.append(objId);
????????}

????}

????acedSSFree(ents);
????acutRelRb(rb);

????
return ?es;
}
另一種實(shí)現(xiàn)
//************************************************************************
//函數(shù)名稱:selectEntityInLayer
//函數(shù)類型:Acad::ErrorStatus?
//返回值:
//功能描述:選擇指定層上的實(shí)體,得到其對象屬性標(biāo)識符!
//函數(shù)作者:Darcy
//創(chuàng)建日期:200X-XX-XX
//參數(shù)列表:
//變量名:nLayerName??????變量類型:CString???????????????變量說明:
//變量名:nIDs????????????變量類型:AcDbObjectIdArray&????變量說明:
//變量名:nModelSpace?????變量類型:bool??????????????????變量說明:
//************************************************************************
Acad::ErrorStatus????selectEntityInLayer(
?????????????????????????????????????????CString?nLayerName,
?????????????????????????????????????????AcDbObjectIdArray
&?nIDs,
?????????????????????????????????????????
bool?nModelSpace
?????????????????????????????????????????)
{
????Acad::ErrorStatus?es
=Acad::eOk;?

????AcDbBlockTable
*????????pBlockTable=NULL;
????AcDbBlockTableRecord
*??pSpaceRecord=NULL;
????
if?(acdbHostApplicationServices()->workingDatabase()==NULL)
????????
return?Acad::eNoDatabase;
????
if?((es?=?acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable,?AcDb::kForRead))==Acad::eOk)
????
{
????????
char?entryName[13];
????????
if?(nModelSpace)
????????????strcpy(entryName,ACDB_MODEL_SPACE);
????????
else
????????????strcpy(entryName,ACDB_PAPER_SPACE);
????????
//Get?the?Model?or?Paper?Space?record?and?open?it?for?read:??
????????if?((es?=?pBlockTable->getAt((const?char*)entryName,?pSpaceRecord,?AcDb::kForRead))==Acad::eOk)
????????
{
????????????????AcDbBlockTableRecordIterator
*?pIter;
????????????????
if?(pSpaceRecord->newIterator(pIter)==Acad::eOk)
????????????????
{
????????????????????
for?(pIter->start();!pIter->done();pIter->step())
????????????????????
{
????????????????????????
char?*name=NULL;
????????????????????????AcDbEntity
*?pEntity;
????????????????????????
if?(pIter->getEntity(pEntity,AcDb::kForRead)==Acad::eOk)
????????????????????????
{
????????????????????????????name
=pEntity->layer();
????????????????????????????
if?(nLayerName.CompareNoCase(name)==0)
????????????????????????????????nIDs.append(pEntity
->objectId());

????????????????????????????pEntity
->close();
????????????????????????????acutDelString(name);?
????????????????????????}

????????????????????}

????????????????????delete?pIter;
????????????????}
????????????
????????????????pSpaceRecord
->close();
????????}
???
????????pBlockTable
->close();
????}


????
return?es;
}



生成新組
//生成新組(sGroupName)
//追加數(shù)組中所有實(shí)體到該組中
//組名字?,???Id數(shù)組
int?createGroup(CString?sGroupName,
???????????????????????????????????
const?AcDbObjectIdArray?*idArr)
{
????AcDbGroup???????
*pGroup?=?new?AcDbGroup((LPSTR)(LPCTSTR)sGroupName);
????AcDbObjectId?????groupObjectId;
????AcDbDictionary??
*pGroupDict?=?NULL;

????acdbHostApplicationServices()
->workingDatabase()
????????
->getGroupDictionary(pGroupDict,?AcDb::kForWrite);
????pGroupDict
->setAt(sGroupName,?pGroup,?groupObjectId);
????pGroupDict
->close();
??????pGroup
->close();
????acdbOpenObject(pGroup,?groupObjectId,?AcDb::kForWrite);
????
for?(int?i?=?0;?i?<?idArr->length();?i++)
????
{
????????groupObjectId?
=?idArr->at(i);
????????pGroup
->append(groupObjectId);???
????}

????pGroup
->close();
????
return?TRUE;
}

另一個
Acad::ErrorStatus?CDrawFunction::createGroup(CString?groupname,AcDbObjectIdArray?IdArray)
{
Acad::ErrorStatus?es
=Acad::eOk;
AcDbDictionary?
*pGroupDict=NULL;
AcDbGroup?
*pGroup=NULL;
if((es=acdbHostApplicationServices()->workingDatabase()->getGroupDictionary(pGroupDict,AcDb::kForWrite))!=Acad::eOk)
{
return?es;
}

AcDbObjectId?groupId;
es
=pGroupDict->getAt(groupname,groupId);
if(es==Acad::eInvalidKey)
{
acutPrintf(
"\n輸入的詞典名無效!");
pGroupDict
->close();
return?es;
}

else?if(es==Acad::eKeyNotFound)
{
pGroup
=new?AcDbGroup("GroupDiscription");
if((es=pGroupDict->setAt(groupname,pGroup,groupId))!=Acad::eOk)
{
pGroup
->close();pGroupDict->close();return?es;
}

}

else?if(es==Acad::eOk?)
{
if((es=acdbOpenObject(pGroup,groupId,AcDb::kForWrite))!=Acad::eOk)
{
pGroupDict
->close();return?es;
}

}

for(int?i=0;i?pGroup->append(IdArray[i]);
pGroup
->setSelectable(FALSE);
pGroupDict
->close();
pGroup
->close();
return?es;
}

旋轉(zhuǎn)整個group
void?CMyDatabase::rotationGroup(CString?strGroupName?,CReiPoint?ptRotation,double?rotationAngle)?
{
????AcGePoint3d?pt;
????AcDbDictionary?
*pGroupDict;
????acdbCurDwg()
->getGroupDictionary(pGroupDict,AcDb::kForWrite);
????AcDbObjectId?groupId;
????AcDbGroup?
*pGroup;
????pt.x
=ptRotation.x;
????pt.y
=ptRotation.y;
????pt.z
=ptRotation.z;
????
if(pGroupDict->getAt(strGroupName,groupId)==Acad::eOk)
???????acdbOpenObject(pGroup,groupId,AcDb::kForWrite);
????
else
????
{
????????pGroupDict
->close();
????????
return;
????}

????pGroupDict
->close();
????AcDbGroupIterator
*?pIter=pGroup->newIterator();
????AcDbEntity
*?pEnt;
????AcDbObjectId?objId;
????????pIter
=pGroup->newIterator();
????
for(;!pIter->done();pIter->next())
????
{
????????objId
=pIter->objectId();
????????acdbOpenAcDbEntity(pEnt,objId,AcDb::kForWrite);
????????rotationEntity(pEnt,pt,rotationAngle);
????????pEnt
->close();
????}

????delete?pIter;
????pGroup
->close();
}


新建一個圖層
//==========================================================
功能:新建一個圖層
參數(shù):LayerName?
--?圖層名,LayerColor?--?顏色名
返回:圖層ID
//==========================================================
AcDbObjectId?CreateNewLayer(CString?LayerName,?AcCmColor?LayerColor)
{
????
//?獲得當(dāng)前圖形數(shù)據(jù)庫的符號表
????AcDbLayerTable?*pLayerTable;
????acdbHostApplicationServices()
->workingDatabase()->getSymbolTable(pLayerTable,
????????AcDb::kForWrite);
????
//?生成新的圖層表記錄
????AcDbLayerTableRecord?*pLayerTableRecord?=?new?AcDbLayerTableRecord;
????pLayerTableRecord
->setName(LayerName);????????//?設(shè)置圖層名
????pLayerTableRecord->setColor(LayerColor);????//?設(shè)置圖層顏色
????AcDbObjectId?layerId;
????pLayerTable
->add(layerId,pLayerTableRecord);
????
//?關(guān)閉圖層表和圖層表記錄
????pLayerTable->close();
????pLayerTableRecord
->close();
????
return?layerId;
}


//==========================================================
功能:在指定圖層上新建一條直線
參數(shù):見注釋
返回:直線ID
//==========================================================
AcDbObjectId?CreateLine(?double?x1,double?y1,double?z1,??//?起點(diǎn)坐標(biāo)
?????????????????????double?x2,double?y2,double?z2,??//?終點(diǎn)坐標(biāo)
?????????????????????AcDbObjectId?layer)???????????????????//?直線所在圖層
{
????AcGePoint3d?StartPt(x1,y1,z1);????
//?起點(diǎn)
????AcGePoint3d?EndPt(x2,y2,z2);????//?終點(diǎn)
????AcDbLine?*pLine?=?new?AcDbLine(StartPt,EndPt);
????
//?獲得當(dāng)前圖形數(shù)據(jù)庫的符號表
????AcDbBlockTable?*pBlockTable;
????acdbHostApplicationServices()
->workingDatabase()->getSymbolTable(pBlockTable,
????????AcDb::kForRead);
????
//?獲得符號表中的模型空間塊表記錄指針,用于添加對象
????AcDbBlockTableRecord?*pBlockTableRecord;
????pBlockTable
->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);
????pBlockTable
->close();
????
//?將直線添加到模型空間塊表記錄中
????AcDbObjectId?lineId;
????pLine
->setLayer(layer,Adesk::kTrue);????//?設(shè)置直線所在圖層
????pBlockTableRecord->appendAcDbEntity(lineId,pLine);
????
//?關(guān)閉塊表記錄指針和直線指針
????pBlockTableRecord->close();
????pLine
->close();
????
//?返回直線ID號
????return?lineId;
}


不太常用的啊
已知一段弧的起點(diǎn)和終點(diǎn)以及其凸度,求其圓心?

int?getCenter(ads_point?startPoint,ads_point?endPoint,double?bulge,ads_point&?center)
{
if?(bulge==0.0)
{
ads_point_set(startPoint,center);
return?0;
}

ads_point?startPt,endPt;
if?(bulge<0.0)
{
ads_point_set(endPoint,startPt);
ads_point_set(startPoint,endPt);
bulge
=bulge*(-1.0);
}

else
{
ads_point_set(startPoint,startPt);
ads_point_set(endPoint,endPt);
}

double?distStartToEnd,distX,distY,radius;
distStartToEnd
=ads_distance(startPt,endPt);
distX
=distStartToEnd/2.0;
distY
=bulge*distX;
radius
=((distX*distX)+(distY*distY))/(2.0*distY);

double?tmpAng;
ads_point?tmpPt;

tmpAng
=ads_angle(startPt,endPt);
ads_polar(startPt,tmpAng,distX,tmpPt);
ads_polar(tmpPt,(tmpAng
+(_PI/2.0)),(radius-distY),center);
return?1;

}
;?


create hatch的

AcDbObjectId?CreateHatch(
AcDbObjectId?dbOId,
char?cLayer[],?
char?cPattern[]?=?"SOLID",?
int?nColor?=?256,?
double?dAngle?=?0.0,?
double?dScale?=?1.0,?
AcDbDatabase?
*?pDbDatab?=?acdbHostApplicationServices()->workingDatabase())
{
AcCmColor?CmC;
AcDbObjectId?DbOId;
AcDbObjectIdArray?DbOIdA(
0,?2);
AcDbBlockTable?
*?pDbBT;
AcDbBlockTableRecord?
*?pDbBTR;
AcGeVector3d?normal(
0.0,?0.0,?1.0);

DbOIdA.append(dbOId);

AcDbHatch
*?pDbHat?=?new?AcDbHatch();

pDbHat
->setDatabaseDefaults();

pDbHat
->setAssociative(Adesk::kTrue);?//?BUG:?doesn't?do?squat!?have?to?set?the?reactor?yourself?to?get?associativity!

pDbHat
->appendLoop(AcDbHatch::kExternal,?DbOIdA);

pDbHat
->setPatternScale(dScale);

pDbHat
->setPatternAngle(dAngle);

pDbHat
->setPattern(AcDbHatch::kPreDefined,?cPattern);

pDbHat
->setNormal(normal);

pDbHat
->evaluateHatch();?//?crucial?call?or?nothing?gets?displayed!

pDbDatab
->getSymbolTable(pDbBT,?AcDb::kForRead);

pDbBT
->getAt(ACDB_MODEL_SPACE,?pDbBTR,?AcDb::kForWrite);

pDbBTR
->appendAcDbEntity(DbOId,?pDbHat);

pDbHat
->setLayer(cLayer);

CmC.setColorIndex(nColor);

((AcDbEntity?
*)pDbHat)->setColor(CmC);

pDbBT
->close();

pDbBTR
->close();

pDbHat
->close();

return?DbOId;

}


前陣?yán)_我的問題解決了,現(xiàn)在共享給大家:
//************************************************************************
//函數(shù)名稱:getPointAtDistInGeCurve
//函數(shù)類型:Acad::ErrorStatus?
//返回值:
//功能描述:返回曲線上距起點(diǎn)某距離值處的點(diǎn)。
//函數(shù)作者:Darcy
//創(chuàng)建日期:2003-XX-XX
//參數(shù)列表:
//變量名:pGeCurve?變量類型:const?AcGeCurve3d?*?變量說明:
//變量名:dist?變量類型:double?變量說明:
//變量名:point?變量類型:AcGePoint3d&?變量說明:
//備?注:
//************************************************************************
Acad::ErrorStatus?getPointAtDistInGeCurve(const?AcGeCurve3d?*?pGeCurve,double?dist,AcGePoint3d&?point)
{
Acad::ErrorStatus?es?
=?Acad::eOk;

if?(?pGeCurve?!=?NULL?)
{
AcGePoint3d?spt;
double?pa=0.,datumParam=0.;
//距離從起點(diǎn)起算!
Adesk::Boolean?posParamDir=Adesk::kTrue;

pGeCurve
->hasStartPoint(spt);?

datumParam?
=?pGeCurve->paramOf(spt);;

pa?
=?pGeCurve->paramAtLength(
datumParam,
dist,
posParamDir
);

point
=pGeCurve->evalPoint(pa);
}

else
es?
=?Acad::eInvalidInput;

return?es;
}
?

判斷點(diǎn)是否在圓弧上
/*****************************************************/
BOOL
IsAtArc(CAD_POINT?firstPt,CAD_POINT?secondPt,
double?radius,double?direct,int?More,CAD_POINT?thePt)
/*?判斷某點(diǎn)是否在圓弧上
firstPt?圓弧起點(diǎn)
secondPt?圓弧終點(diǎn)?
radius?半徑
direct?偏向(?>=0__左偏?<0__右偏?)
More?(More<0__小圓弧,More>0__大圓弧)
thePt?判斷點(diǎn)
返回:TRUE__在圓弧上?FALSE__不在圓弧上
*/

{
CAD_POINT?centerPt,sectionPt;
CAD_POINT?startPt,endPt;
double?startAngle,endAngle,chordAngle,vertAngle;
double?intLine,chordLine;
/*?centerPt?圓弧圓心
sectionPt?弦線中心點(diǎn)
startAngle?圓弧起點(diǎn)切線角度(弧度)
endAngle?圓弧終點(diǎn)切線角度(弧度)
chordAngle?弦線角度(弧度)
vertAngle?與弦線垂直的垂線角度(弧度)
intLine?弦線中心至圓心距離
chordLine?弦線長度
*/
?
sectionPt.x?
=?(firstPt.x?+?secondPt.x)/2;
sectionPt.y?
=?(firstPt.y?+?secondPt.y)/2;

chordLine?
=?sqrt(?pow(?(secondPt.x-firstPt.x),2?)?+?pow(?(secondPt.y-firstPt.y),2?)?);
intLine?
=?sqrt((radius*radius-chordLine*chordLine/4)?);

chordAngle?
=?ads_angle(asDblArray(firstPt),asDblArray(secondPt));?//弦線的角度

if(direct>=0)//左偏
{
startPt
=firstPt;
endPt
=secondPt;
vertAngle
=chordAngle+Pai/2;
}

else?if(direct<0)//右偏
{
startPt
=secondPt;
endPt
=firstPt;
vertAngle
=chordAngle-Pai/2;
}


if(More<=0)//小圓弧
{
centerPt.x
=sectionPt.x+intLine*cos(vertAngle);
centerPt.y
=sectionPt.y+intLine*sin(vertAngle);
}

else//大圓弧
{
centerPt.x
=sectionPt.x-intLine*cos(vertAngle);
centerPt.y
=sectionPt.y-intLine*sin(vertAngle);
}


if(fabs(centerPt.distanceTo(thePt)-radius)>1.0E-8)
return?FALSE;
startAngle?
=?ads_angle(asDblArray(centerPt),asDblArray(startPt));?
endAngle?
=?ads_angle(asDblArray(centerPt),asDblArray(endPt));?

AcDbArc?
*pArc=new?AcDbArc(centerPt,radius,startAngle,endAngle);
AcDbLine?
*pLine=new?AcDbLine(centerPt,thePt);
AcGePoint3dArray?Points;
pLine
->intersectWith(pArc,AcDb::kOnBothOperands,Points);
if(Points.isEmpty())?return?FALSE;

return?TRUE;
}


相object加xdata
void?affixXdata(char?*appName,?char?*xData,?AcDbObject?*pObj)
{
????
//向AcDbObject添加擴(kuò)展數(shù)據(jù)Xdata
????struct?resbuf?*pRb,?*pTemp;

????acdbRegApp(appName);
????pRb?
=?acutNewRb(AcDb::kDxfRegAppName);
????pTemp?
=?pRb;
????pTemp
->resval.rstring?=?new?char[strlen(appName)+1];
????strcpy(pTemp
->resval.rstring,?appName);

????pTemp
->rbnext?=?acutNewRb(AcDb::kDxfXdAsciiString);
????pTemp?
=?pTemp->rbnext;
????pTemp
->resval.rstring?=?new?char[strlen(xData)+1];
????strcpy(pTemp
->resval.rstring,?xData);

????pObj
->setXData(pRb);
????acutRelRb(pRb);
}


//添加擴(kuò)展數(shù)據(jù)
//實(shí)體添加擴(kuò)展數(shù)據(jù)(字符串)
bool?AddXData(CString?appName,?AcDbObjectId?entId,CString?data)
{
//open?entity?for?read
AcDbEntity*pEnt;
Acad::ErrorStatus?es
=acdbOpenAcDbEntity(pEnt,entId,AcDb::kForRead);
if(es!=Acad::eOk)
{
ads_printf(
"error?in?open?entity\n");
return?false;
}

//get?XData?buffer
struct?resbuf*pRb,*pTemp;
pRb
=pEnt->xData(appName);
if(pRb!=NULL)//have?XData
{
//pTemp移到表尾
pTemp=pRb;
for(pTemp=pRb;pTemp->rbnext!=NULL;pTemp=pTemp->rbnext){;}
}

else//NOT?have?XData
{
//create?new?xData
ads_regapp(appName);
pRb
=ads_newrb(AcDb::kDxfRegAppName);
pRb
->resval.rstring=(char*)malloc(appName.GetLength()+1);
strcpy(pRb
->resval.rstring,appName);
pTemp
=pRb;
}

//fill?xData?string
pTemp->rbnext=ads_newrb(AcDb::kDxfXdAsciiString);
pTemp
=pTemp->rbnext;
pTemp
->resval.rstring=(char*)malloc(data.GetLength()+1);
strcpy(pTemp
->resval.rstring,data);
//add?xData
es=pEnt->upgradeOpen();
if(es!=Acad::eOk)
{
ads_printf(
"\nError?occur?in?updateOpen.");
pEnt
->close();
ads_relrb(pRb);
return?false;
}

es
=pEnt->setXData(pRb);
if(es!=Acad::eOk)
{
ads_printf(
"\nError?occur?in?setXData.");
pEnt
->close();
ads_relrb(pRb);
return?false;
}

//
pEnt->close();
ads_relrb(pRb);
return?true;
}

posted on 2006-06-26 16:35 夢在天涯 閱讀(3920) 評論(0)  編輯 收藏 引用 所屬分類: ARX/DBX

公告

EMail:itech001#126.com

導(dǎo)航

統(tǒng)計(jì)

  • 隨筆 - 461
  • 文章 - 4
  • 評論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1814982
  • 排名 - 5

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产精品一区二区女厕厕| 欧美大学生性色视频| 国产精品午夜av在线| 欧美日韩在线一区二区| 欧美午夜久久| 国产精品视频免费在线观看| 国产日韩欧美不卡在线| 国内久久精品| 亚洲激情亚洲| 亚洲欧美不卡| 久久久午夜电影| 亚洲欧洲午夜| 在线视频精品一区| 性高湖久久久久久久久| 久久综合中文色婷婷| 欧美日韩伦理在线| 国产一区二区三区精品久久久| 韩日在线一区| 一本色道婷婷久久欧美| 欧美有码在线视频| 亚洲国产天堂久久综合| 亚洲在线观看| 男人插女人欧美| 国产精品欧美经典| 亚洲美女啪啪| 久久综合福利| 亚洲影视九九影院在线观看| 免费成人高清在线视频| 国产一区二区三区四区三区四 | 美女视频网站黄色亚洲| 欧美一区二区大片| 老**午夜毛片一区二区三区| 99在线精品免费视频九九视| 久久久精品国产免大香伊| 欧美日韩另类国产亚洲欧美一级| 国产在线精品一区二区夜色| 中日韩美女免费视频网站在线观看| 久久久久九九九| 夜夜嗨av一区二区三区网站四季av| 久久久精品日韩欧美| 国产乱码精品| 午夜精彩视频在线观看不卡 | 国产一区二区电影在线观看| 一区二区日韩欧美| 欧美激情国产精品| 久久精品视频播放| 国产精品视频免费| 先锋亚洲精品| 亚洲午夜av| 国产精品久久国产精麻豆99网站| 日韩亚洲欧美一区| 亚洲国产婷婷| 欧美精品综合| 国产精品99久久久久久久久久久久| 亚洲茄子视频| 欧美日韩一卡| 亚洲欧美另类国产| 亚洲午夜在线| 国产精品亚洲аv天堂网 | 亚洲国产第一页| 美日韩精品视频免费看| 亚洲国产成人不卡| 欧美顶级少妇做爰| 欧美粗暴jizz性欧美20| 日韩午夜三级在线| 在线一区二区三区做爰视频网站| 国产精品hd| 久久精品免视看| 久久久国产精品一区| 伊人久久亚洲热| 欧美国产成人精品| 欧美久久电影| 午夜精品久久久久99热蜜桃导演| 亚洲欧美日韩国产中文在线| 国产一区二区三区高清在线观看| 媚黑女一区二区| 欧美激情精品久久久久久久变态 | 在线观看视频欧美| 亚洲国产精品电影在线观看| 欧美精品一区二区三区四区| 亚洲欧美一区二区视频| 欧美一区二区性| 亚洲国产乱码最新视频| 亚洲美女色禁图| 欧美午夜视频在线| 欧美三级视频在线| 极品尤物av久久免费看| 欧美jizz19hd性欧美| 欧美美女操人视频| 欧美一区中文字幕| 另类综合日韩欧美亚洲| 99热在线精品观看| 午夜精品成人在线视频| 亚洲激情av在线| 亚洲一卡二卡三卡四卡五卡| 在线观看成人av| 99精品欧美一区二区蜜桃免费| 国产乱码精品一区二区三区av| 欧美成人69av| 国产精品久久午夜夜伦鲁鲁| 欧美电影免费| 国产欧美日韩一区二区三区在线| 欧美二区不卡| 国产日韩一区二区三区在线播放| 亚洲清纯自拍| 伊甸园精品99久久久久久| 一本色道久久综合| 亚洲激情第一区| 欧美与黑人午夜性猛交久久久| 一区二区三区 在线观看视频| 久久男人资源视频| 久久国产黑丝| 国产精品久久久久国产精品日日| 欧美高清在线视频| 国产在线精品一区二区夜色| 一区二区三区高清不卡| 亚洲精品中文字幕有码专区| 久久久久久999| 欧美一二区视频| 欧美日韩一区二区在线观看| 亚洲第一精品夜夜躁人人爽| 悠悠资源网亚洲青| 欧美一区二区在线免费播放| 午夜精品www| 国产精品久久国产精麻豆99网站| 亚洲精品美女久久久久| 亚洲欧洲在线一区| 麻豆成人在线| 亚洲国产欧美一区二区三区久久 | 欧美视频在线观看| 最近中文字幕日韩精品| 亚洲国产视频a| 麻豆精品在线播放| 欧美激情一区二区三区成人 | 欧美一区二区三区喷汁尤物| 国产精品成人一区| 亚洲欧美成人一区二区在线电影| 亚洲一级在线观看| 国产精品久久影院| 亚洲一区网站| 欧美在线视频观看免费网站| 国产欧美精品| 久久精品国产久精国产爱| 久久视频一区二区| 亚洲国产小视频| 久久激情视频久久| 欧美激情精品久久久久久黑人| 欧美一进一出视频| 国产日韩欧美在线观看| 亚洲欧美三级在线| 久久人体大胆视频| 亚洲国产cao| 欧美日本韩国一区| 亚洲一区二区动漫| 久久久久久久久伊人| 1000精品久久久久久久久| 免费观看日韩| 夜夜嗨av一区二区三区网站四季av| 亚洲免费一在线| 国产一区成人| 欧美成人精品| 亚洲欧美高清| 久久综合一区二区| 日韩一二在线观看| 国产精品一二| 看欧美日韩国产| 亚洲深爱激情| 欧美成在线视频| 亚洲欧美视频一区| 在线日韩成人| 国产精品青草综合久久久久99| 久久国产福利国产秒拍| 亚洲六月丁香色婷婷综合久久| 久久aⅴ国产欧美74aaa| 亚洲第一天堂无码专区| 国产精品久线观看视频| 欧美成人在线免费视频| 亚洲自拍电影| 亚洲国产综合在线看不卡| 欧美影院久久久| 99天天综合性| 一区二区在线观看视频在线观看| 欧美日韩一区二区视频在线| 久久伊人亚洲| 亚洲欧美日韩综合| 日韩亚洲一区二区| 模特精品在线| 久久精品一区二区三区中文字幕| 亚洲一区999| 最新国产成人在线观看| 精品999成人| 国产视频在线观看一区二区三区| 欧美日韩国产综合久久| 久久亚洲国产成人| 欧美在线视频全部完| 亚洲欧美视频在线观看| 一区二区三区av| 一区二区日韩| 日韩一区二区免费高清| 亚洲日本欧美在线|