コード例 #1
0
AcGePoint2dArray CCalculation::SortByLexi(AcGePoint2dArray Points)
{
	// sort by x
	// lexicographically sorting
	// sort by y
	int i = 0;
	int j = 0;
	AcGePoint2d MinPt;
	AcGePoint2dArray LexiPoints;
	for (i = 0; i < Points.length(); i++)
	{
		for (j = i+1; j < Points.length(); j++)
		{
			if (CCalculation::CompareTwoPt(Points.at(i), Points.at(j)))
			{
				MinPt = Points.at(j);
			}
		}
		LexiPoints.append(MinPt);
	}
	return LexiPoints;
}
コード例 #2
0
ファイル: ArxHelper2.cpp プロジェクト: ninuo/ArxWorkspace
int CArxHelper::CreateHatch(AcDbHatch*& pHatch, const AcGePoint3dArray& arrPt,double dScale)
{
	AcGePoint2dArray vertices;
	AcGeDoubleArray bulges;
	for (int i = 0; i < arrPt.length(); ++ i)
	{
		vertices.append(arrPt.at(i).convert2d(AcGePlane::kXYPlane));
		bulges.append(0.0);
	}

	if (vertices.length() > 0)
	{
		pHatch = new AcDbHatch();
		AcGeVector3d normal(0.0, 0.0, 1.0);
		pHatch->setNormal(normal);
		pHatch->setElevation(0.0);
		pHatch->setAssociative(Adesk::kFalse);
		pHatch->setPattern(AcDbHatch::kPreDefined, _T("SOLID"));
		pHatch->appendLoop(AcDbHatch::kExternal,vertices,bulges); 
		pHatch->evaluateHatch();
		pHatch->setPatternScale(dScale);
	}
	return 0;
}