本文整理匯總了C#中System.Point.VectorTo方法的典型用法代碼示例。如果您正苦於以下問題:C# Point.VectorTo方法的具體用法?C# Point.VectorTo怎麽用?C# Point.VectorTo使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.Point
的用法示例。
在下文中一共展示了Point.VectorTo方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: DrawDimension
//////////////////////////////////////////////////////////////////////////////////////////////
// Draws dimension graphics
//
//////////////////////////////////////////////////////////////////////////////////////////////
DimData DrawDimension(Point point1, Point point2, Point dimText, Vector normal)
{
// Compute extension points
Vector xAxis = point1.VectorTo(point2);
Vector upVector = normal.CrossProduct(xAxis);
upVector.Normalize();
Plane plane = _Tg.CreatePlane(point1, normal);
Point dimTextProj = AdnInventorUtilities.ProjectOnPlane(dimText, plane);
double dotP1 = point1.VectorTo(dimTextProj).DotProduct(upVector);
double dotP2 = point2.VectorTo(dimTextProj).DotProduct(upVector);
Point extP1 = _Tg.CreatePoint(
point1.X + upVector.X * dotP1,
point1.Y + upVector.Y * dotP1,
point1.Z + upVector.Z * dotP1);
Point extP2 = _Tg.CreatePoint(
point2.X + upVector.X * dotP2,
point2.Y + upVector.Y * dotP2,
point2.Z + upVector.Z * dotP2);
double dimValue = extP1.DistanceTo(extP2);
GraphicsNode node = _clientGraphicsMng.CreateNewGraphicsNode();
LineGraphics extLine1 = _clientGraphicsMng.DrawLine(
AdnInventorUtilities.ToArray(point1),
AdnInventorUtilities.ToArray(extP1),
node);
LineGraphics extLine2 = _clientGraphicsMng.DrawLine(
AdnInventorUtilities.ToArray(point2),
AdnInventorUtilities.ToArray(extP2),
node);
LineGraphics dimLine = _clientGraphicsMng.DrawLine(
AdnInventorUtilities.ToArray(extP1),
AdnInventorUtilities.ToArray(extP2),
node);
extLine1.LineType = LineTypeEnum.kDashedLineType;
extLine2.LineType = LineTypeEnum.kDashedLineType;
UnitVector v = extP1.VectorTo(extP2).AsUnitVector();
double length = 20.0;
double radius = 7.0;
Point bottom1 = _Tg.CreatePoint(
extP1.X + length * v.X,
extP1.Y + length * v.Y,
extP1.Z + length * v.Z);
Point bottom2 = _Tg.CreatePoint(
extP2.X - length * v.X,
extP2.Y - length * v.Y,
extP2.Z - length * v.Z);
SurfaceBody cone1 = _TBrep.CreateSolidCylinderCone(
bottom1, extP1,
radius, radius, 0.0, null);
SurfaceBody cone2 = _TBrep.CreateSolidCylinderCone(
bottom2, extP2,
radius, radius, 0.0, null);
GraphicsNode dimNode = _clientGraphicsMng.CreateNewGraphicsNode();
SurfaceGraphics arrow1 = _clientGraphicsMng.DrawSurface(cone1, dimNode);
SurfaceGraphics arrow2 = _clientGraphicsMng.DrawSurface(cone2, dimNode);
arrow1.SetTransformBehavior(extP1,
DisplayTransformBehaviorEnum.kPixelScaling,
1.0);
arrow2.SetTransformBehavior(extP2,
DisplayTransformBehaviorEnum.kPixelScaling,
1.0);
TextGraphics text = _clientGraphicsMng.DrawText(
AdnInventorUtilities.GetStringFromAPILength(dimValue),
false,
dimNode);
text.Font = "Arial";
text.Bold = false;
text.Italic = false;
text.FontSize = 20;
text.PutTextColor(221, 0, 0);
text.VerticalAlignment = VerticalTextAlignmentEnum.kAlignTextMiddle;
//.........這裏部分代碼省略.........