Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
ConvexHullColliderShapeDesc.cs
Go to the documentation of this file.
1 using System.Collections.Generic;
2 using System.ComponentModel;
3 
4 using SiliconStudio.Core;
5 using SiliconStudio.Core.Mathematics;
6 using SiliconStudio.Core.Serialization.Contents;
7 
8 namespace SiliconStudio.Paradox.Physics
9 {
10  [ContentSerializer(typeof(DataContentSerializer<ConvexHullColliderShapeDesc>))]
11  [DataContract("ConvexHullColliderShapeDesc")]
13  {
14 #if SILICONSTUDIO_PLATFORM_WINDOWS_DESKTOP
15  [Browsable(false)]
16 #endif
17  [DataMember(10)]
18  public List<List<List<Vector3>>> ConvexHulls; // Multiple meshes -> Multiple Hulls -> Hull points
19 
20 #if SILICONSTUDIO_PLATFORM_WINDOWS_DESKTOP
21  [Browsable(false)]
22 #endif
23  [DataMember(20)]
24  public List<List<List<uint>>> ConvexHullsIndices; // Multiple meshes -> Multiple Hulls -> Hull tris
25 
26  /// <userdoc>
27  /// Model asset from where the engine will derive the convex hull.
28  /// </userdoc>
29  [DataMember(30)]
31 
32  /// <userdoc>
33  /// If this is checked the following parameters are totally ignored, as only a simple convex hull of the whole model will be generated.
34  /// </userdoc>
35  [DataMember(40)]
36  public bool SimpleWrap = true;
37 
38  /// <userdoc>
39  /// Control how many sub convex hulls will be created, more depth will result in a more complex decomposition.
40  /// </userdoc>
41  [DataMember(50)]
42  public int Depth = 10;
43 
44  /// <userdoc>
45  /// How many position samples to internally compute clipping planes ( the higher the more complex ).
46  /// </userdoc>
47  [DataMember(60)]
48  public int PosSampling = 10;
49 
50  /// <userdoc>
51  /// How many angle samples to internally compute clipping planes ( the higher the more complex ), nested with position samples, for each position sample it will compute the amount defined here.
52  /// </userdoc>
53  [DataMember(70)]
54  public int AngleSampling = 10;
55 
56  /// <userdoc>
57  /// If higher then 0 the computation will try to further improve the shape position sampling (this will slow down the process).
58  /// </userdoc>
59  [DataMember(80)]
60  public int PosRefine = 5;
61 
62  /// <userdoc>
63  /// If higher then 0 the computation will try to further improve the shape angle sampling (this will slow down the process).
64  /// </userdoc>
65  [DataMember(90)]
66  public int AngleRefine = 5;
67 
68  /// <userdoc>
69  /// Applied to the concavity during crippling plane approximation.
70  /// </userdoc>
71  [DataMember(100)]
72  public float Alpha = 0.01f;
73 
74  /// <userdoc>
75  /// Threshold of concavity, rising this will make the shape simpler.
76  /// </userdoc>
77  [DataMember(110)]
78  public float Threshold = 0.01f;
79  }
80 }
Data type for SiliconStudio.Paradox.Effects.Model.
Definition: EngineData.cs:241
using SiliconStudio.Paradox. Physics
Core.Serialization.ContentReference< Effects.Data.ModelData > Model