Click or drag to resize

MeshEditManagerCreateBodyPrimitiveBox Method

Body 노드 생성 - Primitive Box

Namespace: VIZCore3D.NET.Manager
Assembly: VIZCore3D.NET (in VIZCore3D.NET.dll) Version: 2.8.24.910 (2.8.24.910)
Syntax
C#
public int CreateBodyPrimitiveBox(
	int nodeIndex,
	string name,
	List<float> length,
	Matrix3D matrix,
	Color color,
	float unitScale = 1f
)

Parameters

nodeIndex  Int32
부모 노드 인덱스
name  String
생성할 노드의 이름
length  ListSingle
Length : [0] - X Axis. Length, [1] - Y Axis. Length, [2] - Z Axis. Length
matrix  Matrix3D
Matrix
color  Color
Color
unitScale  Single  (Optional)
Unit Scale : 1.0f

Return Value

Int32
생성된 노드(BODY) 아이디
Example
C#
// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;

private void Example()
{
    string assemblyName = string.Format("Assembly #{0}", vizcore3d.Object3D.GetNodeCount());
    VIZCore3D.NET.Data.Node assembly = vizcore3d.MeshEdit.CreateNode(0, VIZCore3D.NET.Data.NodeKind.ASSEMBLY, assemblyName);
    if (assembly == null) return;

    string partName = string.Format("Part #{0}", vizcore3d.Object3D.GetNodeCount());
    VIZCore3D.NET.Data.Node part = vizcore3d.MeshEdit.CreateNode(assembly.Index, VIZCore3D.NET.Data.NodeKind.PART, partName);
    if (part == null) return;

    string bodyName = string.Format("Body #{0}", vizcore3d.Object3D.GetNodeCount());

    List<float> length = new List<float>() { 1000.0f, 2000.0f, 3000.0f };

    VIZCore3D.NET.Data.Matrix3D m = new VIZCore3D.NET.Data.Matrix3D();
    m.Identity();
    //m.SetRotateX(vizcore3d.View.DegreesToRadians(45.0f));
    //m.SetTranslate(1000, 0, 0, false);

    vizcore3d.BeginUpdate();

    int id = vizcore3d.MeshEdit.CreateBodyPrimitiveBox(
        part.Index          /* Parent (Part) Node Index */
        , bodyName          /* Name */
        , length            /* Axis. Length */
        , m                 /* Matrix */
        , Color.Orange      /* Color */
        );

    vizcore3d.EndUpdate();

    if (id == -1)
    {
        MessageBox.Show(
            "NG"
            , "VIZCore3D.NET"
            , MessageBoxButtons.OK
            , MessageBoxIcon.Error
            );
    }
    else
    {
        MessageBox.Show(
            string.Format("Body ID : {0}", id)
            , "VIZCore3D.NET"
            , MessageBoxButtons.OK
            , MessageBoxIcon.Information
            );
    }
}
See Also