AddPrimitiveRectangularTorus
Overloads
| Name | Description |
|---|---|
| AddPrimitiveRectangularTorus(int bodyIndex, List<float> radius, float height, float angle, Matrix3D matrix, Color color, int numberSection, int numberSide, bool rebuildData, float unitScale, int detailLevel) | Body 노드에 Rectangular Torus Primitive 생성 |
AddPrimitiveRectangularTorus(int bodyIndex, List<float> radius, float height, float angle, Matrix3D matrix, Color color, int numberSection, int numberSide, bool rebuildData, float unitScale, int detailLevel)
public int AddPrimitiveRectangularTorus(int bodyIndex, List<float> radius, float height, float angle, Matrix3D matrix, Color color, int numberSection, int numberSide, bool rebuildData, float unitScale, int detailLevel)
Body 노드에 Rectangular Torus Primitive 생성
Parameters
| Name | Type | Description |
|---|---|---|
| bodyIndex | int | 바디(Body) 노드 인덱스 |
| radius | List<float> | Radius : [0] Inside, [1] Outside |
| height | float | Height |
| angle | float | Angle (Degree) |
| matrix | Matrix3D | Matrix |
| color | Color | Color |
| numberSection | int | Number Section : 숫자가 낮을수록 거친 형상. 높을수록 부드러운 형상(= Max. Angle) |
| numberSide | int | Number Side : Default (4) |
| rebuildData | bool | 데이터 재구성 여부 |
| unitScale | float | Unit Scale : 1.0f |
| detailLevel | int | Detail Level : Default (1) |
Returns
| Type | Description |
|---|---|
| int | 노드(BODY) 아이디 |
Examples
// VIZCore3D.NET Control
private VIZCore3D.NET.VIZCore3DControl vizcore3d;
public 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> radius = new List<float>();
radius.Add(10); // Inside Radius
radius.Add(20); // Outside Radius
float height = 15;
float angle = 90; // Degree
int numSection = 4;
//int numSection = Convert.ToInt32(angle / 10);
//int numSection = Convert.ToInt32(angle / 15);
//int numSection = Convert.ToInt32(angle);
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.AddPrimitiveRectangularTorus(
bodyIndex /* Body Node Index */
, radius /* Radius */
, height /* Height */
, angle /* Angle */
, matrix /* Matrix */
, Color.Green /* Color */
, numSection /* Number Of Section */
, 4 /* Number of Side (4) */
, false /* Rebuild Data */
, 1.0f /* Unit Scale (1.0f) */
, 1 /* Detail Level (1) */
);
}
vizcore3d.Structure.RebuildData();
}