본문으로 건너뛰기

AddPrimitiveCylinder

Overloads

NameDescription
AddPrimitiveCylinder(int bodyIndex, float radius, float height, Matrix3D matrix, Color color, bool rebuildData, int sideCount)Body 노드에 Cylinder Primitive 생성
AddPrimitiveCylinder(int bodyIndex, float radius, float height, float bottomShear, float topShear, Matrix3D matrix, Color color, bool rebuildData, int sideCount)Body 노드에 Cylinder Primitive 생성
AddPrimitiveCylinder(int bodyIndex, Vertex3D start, Vertex3D end, float radius, Color color, bool rebuildData, int sideCount)Body 노드에 Cylinder Primitive 생성

AddPrimitiveCylinder(int bodyIndex, float radius, float height, Matrix3D matrix, Color color, bool rebuildData, int sideCount)

public int AddPrimitiveCylinder(int bodyIndex, float radius, float height, Matrix3D matrix, Color color, bool rebuildData, int sideCount)

Body 노드에 Cylinder Primitive 생성

Parameters

NameTypeDescription
bodyIndexint바디(Body) 노드 인덱스
radiusfloatRadius
heightfloatHeight
matrixMatrix3DMatrix
colorColorColor
rebuildDatabool데이터 재구성 여부
sideCountintSide Count : 12 (6~36)

Returns

TypeDescription
int노드(BODY) 아이디

Examples

// 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 */
, matrix /* Matrix */
, Color.Blue /* Color */
, false /* Rebuild Data */
, 12 /* Side Count */
);
}

vizcore3d.Structure.RebuildData();
}

AddPrimitiveCylinder(int bodyIndex, float radius, float height, float bottomShear, float topShear, Matrix3D matrix, Color color, bool rebuildData, int sideCount)

public int AddPrimitiveCylinder(int bodyIndex, float radius, float height, float bottomShear, float topShear, Matrix3D matrix, Color color, bool rebuildData, int sideCount)

Body 노드에 Cylinder Primitive 생성

Parameters

NameTypeDescription
bodyIndexint바디(Body) 노드 인덱스
radiusfloatRadius
heightfloatHeight
bottomShearfloatBottom Shear (Degree) - X방향
topShearfloatTop Shear (Degree) - X방향
matrixMatrix3DMatrix
colorColorColor
rebuildDatabool데이터 재구성 여부
sideCountintSide Count : 12 (6~36)

Returns

TypeDescription
int노드(BODY) 아이디

Examples

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

AddPrimitiveCylinder(int bodyIndex, Vertex3D start, Vertex3D end, float radius, Color color, bool rebuildData, int sideCount)

public int AddPrimitiveCylinder(int bodyIndex, Vertex3D start, Vertex3D end, float radius, Color color, bool rebuildData, int sideCount)

Body 노드에 Cylinder Primitive 생성

Parameters

NameTypeDescription
bodyIndexint바디(Body) 노드 인덱스
startVertex3D시작 위치
endVertex3D종료 위치
radiusfloatRadius
colorColorColor
rebuildDatabool데이터 재구성 여부
sideCountintSide Count : 12 (6~36)

Returns

TypeDescription
int노드(BODY) 아이디

Examples

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

{
VIZCore3D.NET.Data.Vertex3D start = new VIZCore3D.NET.Data.Vertex3D(1000.0f, 1000.0f, 1000.0f);
VIZCore3D.NET.Data.Vertex3D end = new VIZCore3D.NET.Data.Vertex3D(0.0f, 0.0f, 0.0f);
float radius = 500.0f;

int id = vizcore3d.MeshEdit.AddPrimitiveCylinder(
bodyIndex /* Body Node Index */
, start /* Start Point */
, end /* End Point */
, radius /* Radius */
, Color.Orange /* Color */
, false /* Rebuild Data */
, 12 /* Side Count */
);
}

vizcore3d.Structure.RebuildData();
}