GetMatrixToMoveTo2PointParallelTo2Point
Overloads
| Name | Description |
|---|---|
| GetMatrixToMoveTo2PointParallelTo2Point(Vertex3D iv1, Vertex3D iv2, Vertex3D iv3, Vertex3D iv4, float offset) | 대상 2점과 기준선 2 점을 오프셋 만큼 떨어진 평행한 대상 2점이 될 수 있도록 이동/회전 Matrix 계산 |
GetMatrixToMoveTo2PointParallelTo2Point(Vertex3D iv1, Vertex3D iv2, Vertex3D iv3, Vertex3D iv4, float offset)
public Matrix3D GetMatrixToMoveTo2PointParallelTo2Point(Vertex3D iv1, Vertex3D iv2, Vertex3D iv3, Vertex3D iv4, float offset)
대상 2점과 기준선 2 점을 오프셋 만큼 떨어진 평행한 대상 2점이 될 수 있도록 이동/회전 Matrix 계산
Parameters
| Name | Type | Description |
|---|---|---|
| iv1 | Vertex3D | 이동점 1 |
| iv2 | Vertex3D | 이동점 2 |
| iv3 | Vertex3D | 고정점 1 |
| iv4 | Vertex3D | 고정점 2 |
| offset | float | 오프셋 |
Returns
| Type | Description |
|---|---|
| Matrix3D | 이동/회전 Matrix |
Examples
// 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);
}