本文整理汇总了C++中AcGeMatrix3d::getCoordSystem方法的典型用法代码示例。如果您正苦于以下问题:C++ AcGeMatrix3d::getCoordSystem方法的具体用法?C++ AcGeMatrix3d::getCoordSystem怎么用?C++ AcGeMatrix3d::getCoordSystem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AcGeMatrix3d
的用法示例。
在下文中一共展示了AcGeMatrix3d::getCoordSystem方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: assertWriteEnabled
Acad::ErrorStatus
AsdkBody::subTransformBy(const AcGeMatrix3d& xform)
{
AcDbDwgFiler *filer;
assertWriteEnabled( Adesk::kFalse );
if (NULL != (filer = undoFiler()))
{
filer->writeAddress(AsdkBody::desc() );
filer->writeItem( (Adesk::Int16)555 );
//filer->writeBytes( &xform, sizeof AcGeMatrix3d );
AcGePoint3d o;
AcGeVector3d x, y, z;
xform.getCoordSystem( o, x, y, z );
filer->writeItem( o );
filer->writeItem( x );
filer->writeItem( y );
filer->writeItem( z );
}
m_3dGeom.transform( *(Transf3d*)&xform );
return Acad::eOk;
}
示例2: if
void
ArxDbgDbAdeskLogo::getReferenceAttachmentPoint(AcDbEntity* ent, AcGePoint3d& toPt)
{
AcDbCircle* circ;
AcDbArc* arc;
AcDbLine* line;
AcDbPoint* point;
AcDbBlockReference* blkRef;
if ((circ = AcDbCircle::cast(ent)) != NULL)
toPt = circ->center();
else if ((arc = AcDbArc::cast(ent)) != NULL)
toPt = arc->center();
else if ((line = AcDbLine::cast(ent)) != NULL)
toPt = line->startPoint();
else if ((point = AcDbPoint::cast(ent)) != NULL)
toPt = point->position();
else if ((blkRef = AcDbBlockReference::cast(ent)) != NULL)
toPt = blkRef->position();
else {
// can't get anything better so just rely on the ECS. If the
// raw AutoCAD entities would do this, we wouldn't need the above
// switch statement.
AcGeMatrix3d mat;
ent->getEcs(mat);
AcGeVector3d v1, v2, v3;
mat.getCoordSystem(toPt, v1, v2, v3);
}
}
示例3: getEcsToWcsMatrix
void
ArxDbgUtils::getEcsXAxis(const AcGeVector3d& ecsZAxis, AcGeVector3d& xAxis)
{
AcGeMatrix3d arbMat;
getEcsToWcsMatrix(AcGePoint3d::kOrigin, ecsZAxis, arbMat);
AcGePoint3d origin;
AcGeVector3d yAxis, zAxis;
arbMat.getCoordSystem(origin, xAxis, yAxis, zAxis); // return xAxis;
}
示例4:
AcGeVector3d
ArxDbgUtils::getUcsZAxis(AcDbDatabase* db)
{
ASSERT(db != NULL);
AcGeMatrix3d m;
if (acdbUcsMatrix(m, db)) {
AcGePoint3d origin;
AcGeVector3d xDir, yDir, zDir;
m.getCoordSystem(origin, xDir, yDir, zDir);
return zDir;
}
else {
ASSERT(0);
return AcGeVector3d::kZAxis;
}
}
示例5: ucsPlane
AcGePlane
ArxDbgUtils::getUcsPlane(AcDbDatabase* db)
{
ASSERT(db != NULL);
AcGeMatrix3d m;
if (acdbUcsMatrix(m, db)) {
AcGePoint3d origin;
AcGeVector3d xDir, yDir, zDir;
m.getCoordSystem(origin, xDir, yDir, zDir);
AcGePlane ucsPlane(origin, xDir, yDir);
return ucsPlane;
}
else {
ASSERT(0);
AcGePlane ucsPlane(AcGePoint3d::kOrigin, AcGeVector3d::kIdentity);
return ucsPlane;
}
}