Click or drag to resize

MeshEditManagerAddPrimitiveCylinder(Int32, Single, Single, Single, Single, Matrix3D, Color, Boolean, Int32) Method

Body 노드에 Cylinder 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 AddPrimitiveCylinder(
	int bodyIndex,
	float radius,
	float height,
	float bottomShear,
	float topShear,
	Matrix3D matrix,
	Color color,
	bool rebuildData,
	int sideCount = 12
)

Parameters

bodyIndex  Int32
바디(Body) 노드 인덱스
radius  Single
Radius
height  Single
Height
bottomShear  Single
Bottom Shear (Degree) - X방향
topShear  Single
Top Shear (Degree) - X방향
matrix  Matrix3D
Matrix
color  Color
Color
rebuildData  Boolean
데이터 재구성 여부
sideCount  Int32  (Optional)
Side Count : 12 (6~36)

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 */
            );
    }

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

        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.AddPrimitiveCylinder(
            bodyIndex           /* Body Node Index */
            , radius            /* Radius */
            , height            /* Height */
            , 15                /* BottomShear */
            , 15                /* TopShear */
            , matrix            /* Matrix */
            , Color.Blue        /* Color */
            , false             /* Rebuild Data */
            , 12                /* Side Count */
            );
    }

    vizcore3d.Structure.RebuildData();
}
See Also