Click or drag to resize

MeshEditManagerCreateBodyPrimitiveCone(Int32, String, ListSingle, ListSingle, Single, Matrix3D, Color, Boolean, Int32, Single, Int32) Method

Body 노드 생성 - Primitive Cone (Cone, Sloped Cylinder, Snout)

Namespace: VIZCore3D.NET.Manager
Assembly: VIZCore3D.NET (in VIZCore3D.NET.dll) Version: 2.8.24.910 (2.8.24.910)
Syntax
C#
public int CreateBodyPrimitiveCone(
	int nodeIndex,
	string name,
	List<float> radius,
	List<float> offset,
	float height,
	Matrix3D matrix,
	Color color,
	bool rebuildData,
	int sideCount = 12,
	float unitScale = 1f,
	int systemType = 1
)

Parameters

nodeIndex  Int32
부모 노드 인덱스
name  String
생성할 노드의 이름
radius  ListSingle
Radius : [0] - Top Radius, [1] - Bottom Radius
offset  ListSingle
Offset : [0] - X Offset, [1] - Y Offset
height  Single
Height
matrix  Matrix3D
Matrix
color  Color
Color
rebuildData  Boolean
Rebuild Data
sideCount  Int32  (Optional)
Side Count : 12 (6~36)
unitScale  Single  (Optional)
Unit Scale : 1.0f
systemType  Int32  (Optional)
System Type : 0(TRIBON), 1(AVEVA MARINE : Default)

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());

    /* Radius : Top[0], Bottom[1] */
    List<float> radius = new List<float>() { 1000.0f, 1000.0f };

    /* Offset : X Offset[0], Y Offset[1] */
    List<float> offset = new List<float>() { 100.0f, 100.0f };

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

    vizcore3d.BeginUpdate();

    int id = vizcore3d.MeshEdit.CreateBodyPrimitiveCone(
        part.Index          /* Parent (Part) Node Index */
        , bodyName          /* Name */
        , radius            /* Radius : Top[0], Bottom[1] */
        , offset            /* Offset : X[0], Y[1] */
        , 1000.0f           /* Height */
        , matrix            /* Matrix */
        , Color.Orange      /* Color */
        , false             /* Rebuild Data */
        );

    vizcore3d.Structure.RebuildData();

    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