Click or drag to resize

MeshEditManagerCreateBodyPrimitiveCylinder Method (Int32, String, Single, Single, Single, Single, Matrix3D, Color, Boolean, Int32)

Body 노드 생성 - Primitive Cylinder

Namespace:  VIZCore3D.NET.Manager
Assembly:  VIZCore3D.NET (in VIZCore3D.NET.dll) Version: 2.8.24.1104 (2.8.24.1104)
Syntax
C#
public int CreateBodyPrimitiveCylinder(
	int nodeIndex,
	string name,
	float radius,
	float height,
	float bottomShear,
	float topShear,
	Matrix3D matrix,
	Color color,
	bool rebuildData,
	int sideCount = 12
)

Parameters

nodeIndex
Type: SystemInt32
부모 노드 인덱스
name
Type: SystemString
생성할 노드의 이름
radius
Type: SystemSingle
Radius
height
Type: SystemSingle
Height
bottomShear
Type: SystemSingle
Bottom Shear (Degree) - X방향
topShear
Type: SystemSingle
Top Shear (Degree) - X방향
matrix
Type: VIZCore3D.NET.DataMatrix3D
Matrix
color
Type: System.DrawingColor
Color
rebuildData
Type: SystemBoolean
Rebuild Data
sideCount (Optional)
Type: SystemInt32
Side Count : 12 (6~36)

Return Value

Type: Int32
생성된 노드(BODY) 아이디
Examples
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());

    float radius = 1000.0f; // Radius
    float height = 1000.0f; // Height

    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.CreateBodyPrimitiveCylinder(
        part.Index          /* Parent (Part) Node Index */
        , bodyName          /* Name */
        , radius            /* Radius */
        , height            /* Height */
        , 15                /* BottomShear */
        , 15                /* TopShear */
        , 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