GeometryUtilityManagerGetMatrixToMoveTo2PointParallelTo2Point Method |
Namespace: VIZCore3D.NET.Manager
public Matrix3D GetMatrixToMoveTo2PointParallelTo2Point( Vertex3D iv1, Vertex3D iv2, Vertex3D iv3, Vertex3D iv4, float offset )
// VIZCore3D.NET Control private VIZCore3D.NET.VIZCore3DControl vizcore3d; private void Example() { // 이동되어야 할 라인 VIZCore3D.NET.Data.Vertex3D v1 = new VIZCore3D.NET.Data.Vertex3D(-24.85, 254.20, 500); VIZCore3D.NET.Data.Vertex3D v2 = new VIZCore3D.NET.Data.Vertex3D(-450, -650, 500); // 고정 라인 VIZCore3D.NET.Data.Vertex3D v3 = new VIZCore3D.NET.Data.Vertex3D(500, 500, 500); VIZCore3D.NET.Data.Vertex3D v4 = new VIZCore3D.NET.Data.Vertex3D(500, -500, 500); // 이동&회전 매트릭스 계산 VIZCore3D.NET.Data.Matrix3D matrix = vizcore3d.GeometryUtility.GetMatrixToMoveTo2PointParallelTo2Point( v1 /* 이동될 라인 시작점 */ , v2 /* 이동될 라인 끝점 */ , v3 /* 기준선 라인 시작점 */ , v4 /* 기준선 라인 끝점 */ , 1000.0f /* 오프셋 */ ); // 이동될 라인을 포함한 부재 검색 List<VIZCore3D.NET.Data.Node> nodes = vizcore3d.Object3D.Find.QuickSearch("BOX2", true); if (nodes.Count == 0) return; // 부재 이동 및 회전 nodes[0].TrasformByRawMatrix(matrix); }