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

C++ Programmer's Cookbook

{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

objectARX常用代碼2

設置當前的layer和textstyle
// ?Function?name????:?SetCurTextStyle
// ?Description????????:?設置當前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????????:?設置當前層
// ?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;
}



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

// ************************************************************************
// 函數名稱:selectEntityInLayer
// 函數類型:Acad::ErrorStatus?
// 返回值:??正常:Acad::eOk
// 功能描述:選擇指定圖層上的所有實體!
// 函數作者:Darcy
// 創建日期:200X-XX-XX
// 參數列表:
// 變量名:nLayerName?????變量類型:const?char*???????????變量說明:(輸入)圖層名
// 變量名:nIDs???????????變量類型:AcDbObjectIdArray&????變量說明:(輸出)圖層中實體的對象標識符集合
// ************************************************************************
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;
}
另一種實現
//************************************************************************
//函數名稱:selectEntityInLayer
//函數類型:Acad::ErrorStatus?
//返回值:
//功能描述:選擇指定層上的實體,得到其對象屬性標識符!
//函數作者:Darcy
//創建日期:200X-XX-XX
//參數列表:
//變量名: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)
//追加數組中所有實體到該組中
//組名字?,???Id數組
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;
}

旋轉整個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();
}


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


//==========================================================
功能:在指定圖層上新建一條直線
參數:見注釋
返回:直線ID
//==========================================================
AcDbObjectId?CreateLine(?double?x1,double?y1,double?z1,??//?起點坐標
?????????????????????double?x2,double?y2,double?z2,??//?終點坐標
?????????????????????AcDbObjectId?layer)???????????????????//?直線所在圖層
{
????AcGePoint3d?StartPt(x1,y1,z1);????
//?起點
????AcGePoint3d?EndPt(x2,y2,z2);????//?終點
????AcDbLine?*pLine?=?new?AcDbLine(StartPt,EndPt);
????
//?獲得當前圖形數據庫的符號表
????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);????//?設置直線所在圖層
????pBlockTableRecord->appendAcDbEntity(lineId,pLine);
????
//?關閉塊表記錄指針和直線指針
????pBlockTableRecord->close();
????pLine
->close();
????
//?返回直線ID號
????return?lineId;
}


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

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;

}


前陣困擾我的問題解決了,現在共享給大家:
//************************************************************************
//函數名稱:getPointAtDistInGeCurve
//函數類型:Acad::ErrorStatus?
//返回值:
//功能描述:返回曲線上距起點某距離值處的點。
//函數作者:Darcy
//創建日期:2003-XX-XX
//參數列表:
//變量名: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.;
//距離從起點起算!
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;
}
?

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

{
CAD_POINT?centerPt,sectionPt;
CAD_POINT?startPt,endPt;
double?startAngle,endAngle,chordAngle,vertAngle;
double?intLine,chordLine;
/*?centerPt?圓弧圓心
sectionPt?弦線中心點
startAngle?圓弧起點切線角度(弧度)
endAngle?圓弧終點切線角度(弧度)
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添加擴展數據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);
}


//添加擴展數據
//實體添加擴展數據(字符串)
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

導航

統計

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

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1815005
  • 排名 - 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>
              91久久精品美女| 欧美日韩伦理在线| 91久久黄色| 中文国产一区| 久久综合亚州| 国产区在线观看成人精品| 夜夜嗨av一区二区三区四区 | 亚洲国产精品成人综合| 亚洲一级黄色| 亚洲精品一二| 欧美人与禽性xxxxx杂性| 亚洲激情在线观看| 美女视频黄 久久| 亚洲女性喷水在线观看一区| 国产精品美女诱惑| 欧美一区二区三区在线看| 在线视频欧美一区| 国产精品久久久亚洲一区| 亚洲主播在线| 亚洲综合视频1区| 国产日韩精品一区二区三区在线 | 日韩视频一区二区三区| 亚洲高清视频在线| 欧美另类高清视频在线| 99视频精品| 9色精品在线| 国产精品三区www17con| 久久久精品五月天| 麻豆91精品| 久久久视频精品| 国产精品高潮粉嫩av| 一区二区三区日韩| 99热这里只有精品8| 欧美特黄一级大片| 亚洲欧美成人精品| 久久激情综合| 亚洲夫妻自拍| 亚洲美女少妇无套啪啪呻吟| 欧美午夜精品久久久久久孕妇 | 影音先锋中文字幕一区二区| 免费在线观看日韩欧美| 欧美国产激情| 先锋a资源在线看亚洲| 久久国产精品亚洲77777| 亚洲国产老妈| 中文日韩在线视频| 国外成人在线视频网站| 亚洲二区视频| 国产日韩在线看片| 亚洲国产精品一区二区www在线| 欧美日韩一区二区三区在线 | 欧美电影电视剧在线观看| 亚洲视频axxx| 久久一区精品| 篠田优中文在线播放第一区| 欧美.www| 久久久一二三| 欧美日韩综合在线| 欧美成在线观看| 国产精品日本| 亚洲精选久久| 亚洲精品女av网站| 久久精品人人做人人爽| 欧美伊久线香蕉线新在线| 欧美黑人在线播放| 麻豆精品传媒视频| 国产精品日本一区二区| 亚洲精品免费电影| 亚洲风情亚aⅴ在线发布| 午夜久久电影网| 亚洲午夜精品一区二区三区他趣| 久久噜噜亚洲综合| 欧美一级视频免费在线观看| 女人天堂亚洲aⅴ在线观看| 久久久中精品2020中文| 欧美色图五月天| 亚洲激情二区| 亚洲激情av| 久久亚洲色图| 久久影院亚洲| 韩国av一区二区三区| 亚洲嫩草精品久久| 亚洲自啪免费| 欧美激情亚洲自拍| 欧美激情精品久久久久久大尺度 | 亚洲国产精品成人一区二区| 午夜在线视频观看日韩17c| 免费日韩精品中文字幕视频在线| 欧美一级夜夜爽| 欧美日韩一区二区三区| 欧美高清成人| 亚洲高清在线观看| 久久婷婷丁香| 免费人成精品欧美精品| 黑丝一区二区三区| 久久精品国产综合| 另类激情亚洲| 黄色精品网站| 久热成人在线视频| 久久夜色精品国产亚洲aⅴ| 国内精品视频久久| 欧美伊人久久| 久久野战av| 影音先锋久久精品| 免费成人在线视频网站| 欧美激情影院| 中文亚洲字幕| 国产精品日韩二区| 欧美在线一级va免费观看| 蜜桃av综合| 日韩视频中文| 国产精品video| 欧美亚洲一区二区三区| 久久综合一区二区| 日韩网站免费观看| 国产精品综合视频| 欧美在线视频一区二区| 亚洲第一网站| 亚洲一区二区三区四区五区午夜 | 欧美一区三区三区高中清蜜桃 | 欧美成人网在线| 夜夜夜久久久| 国产精品高潮呻吟久久| 欧美一级视频免费在线观看| 麻豆久久精品| 一本色道久久综合亚洲精品不| 欧美日韩另类丝袜其他| 欧美一级免费视频| 亚洲欧洲日本mm| 午夜久久久久| 亚洲国产高清一区二区三区| 欧美日韩中文字幕| 久久久久久久网| 一本色道久久88精品综合| 久久久久久久999| 一本一道久久综合狠狠老精东影业| 国产精品久久久久久久久久三级| 一区二区三区欧美亚洲| 久久精品午夜| 亚洲免费观看高清完整版在线观看熊 | 欧美在线免费视频| 亚洲日本中文字幕免费在线不卡| 国产精品国产亚洲精品看不卡15 | 在线精品视频一区二区| 国产精品v日韩精品v欧美精品网站| 久久精品一级爱片| 亚洲免费观看视频| 女主播福利一区| 欧美日韩精品三区| 国产精品久久久久久久久免费| 亚洲欧美一区二区三区久久| 亚洲第一福利在线观看| 久久国产日韩| 亚洲视频在线一区观看| 亚洲精华国产欧美| 韩日视频一区| 国产女主播视频一区二区| 欧美日韩美女在线| 欧美另类高清视频在线| 久久精品国产99| 亚洲综合成人婷婷小说| 亚洲免费av网站| 亚洲日本一区二区| 可以看av的网站久久看| 久久精品日产第一区二区| 亚洲在线观看视频| 中文一区字幕| 亚洲社区在线观看| 亚洲最新在线| aⅴ色国产欧美| 99精品国产一区二区青青牛奶 | 久久久久久伊人| 午夜精品久久久久久久久久久久| 日韩视频免费观看高清在线视频| 亚洲国产精品一区| 亚洲第一福利社区| 韩国久久久久| 性欧美大战久久久久久久免费观看 | 激情国产一区| 激情六月婷婷久久| 国内精品久久久久影院色| 国产亚洲精品久久久| 国产欧美一区二区白浆黑人| 国产日韩av在线播放| 国产综合欧美| 亚洲国产精品小视频| 91久久久国产精品| 国产精品99久久久久久久久久久久 | 在线观看欧美日韩国产| 一色屋精品亚洲香蕉网站| 亚洲福利视频二区| 亚洲人在线视频| 一区二区高清视频在线观看| 亚洲视频网在线直播| 亚洲视频图片小说| 久久国产日韩| 亚洲高清av| 一区二区三区视频在线| 亚洲综合社区| 久久久噜噜噜久久中文字幕色伊伊|