Click or drag to resize

MeshEditManagerAddPrimitiveCone(Int32, ListSingle, ListSingle, Single, Matrix3D, Color, Boolean, Int32, Single, Int32) Method

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

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

Parameters

bodyIndex  Int32
바디(Body) 노드 인덱스
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
데이터 재구성 여부
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()
{
    // New Empty Model
    int index = vizcore3d.Model.NewEmptyModel("MODEL");

    string assemblyName = "ASSEMBLY";
    VIZCore3D.NET.Data.Node assemblyNode =
        vizcore3d.Structure.CreateNode(
            index                                   /* Parent Node Index */
            , VIZCore3D.NET.Data.NodeKind.ASSEMBLY  /* Node Kind */
            , assemblyName                          /* Node Name */
            );

    string partName = "PART";
    VIZCore3D.NET.Data.Node partNode =
        vizcore3d.Structure.CreateNode(
            assemblyNode.Index                      /* Parent Node Index */
            , VIZCore3D.NET.Data.NodeKind.PART      /* Node Kind */
            , partName                              /* Node Name */
            );

    string bodyName = "BODY";
    int bodyId =
        vizcore3d.Structure.CreateBody(
            partNode.Index                          /* Parent Node Index */
            , bodyName                              /* Node Name */
            );

    int bodyIndex = vizcore3d.Object3D.GetBodyIndex(bodyId);

    {
        List<float> length = new List<float>() { 1000.0f, 2000.0f, 3000.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.MeshEdit.AddPrimitiveBox(
            bodyIndex           /* Body Node Index */
            , length            /* Length */
            , matrix            /* Matrix */
            , Color.Orange      /* Color */
            , false             /* Rebuild Data */
            , 1.0f              /* Scale */
            );
    }

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

        /* Offset : X[0], Y[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, 2000, 3000);

        vizcore3d.MeshEdit.AddPrimitiveCone(
            bodyIndex           /* Body Node Index */
            , radius            /* Radius */
            , offset            /* Offset */
            , 2000.0f           /* Height */
            , matrix            /* Matrix */
            , Color.Blue        /* Color */
            , false             /* Rebuild Data */
            , 12                /* Side Count */
            , 1.0f              /* Scale */
            , 1                 /* System Type */
            );
    }

    vizcore3d.Structure.RebuildData();
}
See Also