Code style fix

#814
This commit is contained in:
Wojtek Figat
2022-11-06 23:05:36 +01:00
parent 735b07f0d7
commit e98621b887
41 changed files with 96 additions and 177 deletions

View File

@@ -247,21 +247,23 @@ namespace FlaxEditor.Windows.Assets
contextMenu.AddSeparator(); contextMenu.AddSeparator();
// go through each actor and add it to the context menu if it has the ActorContextMenu attribute // Go through each actor and add it to the context menu if it has the ActorContextMenu attribute
foreach (var actorType in Editor.CodeEditing.Actors.Get()) foreach (var actorType in Editor.CodeEditing.Actors.Get())
{ {
if (actorType.IsAbstract || !actorType.HasAttribute(typeof(ActorContextMenuAttribute), true)) if (actorType.IsAbstract)
continue; continue;
ActorContextMenuAttribute attribute = null; ActorContextMenuAttribute attribute = null;
foreach (var actorAttribute in actorType.GetAttributes(true)) foreach (var e in actorType.GetAttributes(true))
{ {
if (actorAttribute is ActorContextMenuAttribute actorContextMenuAttribute) if (e is ActorContextMenuAttribute actorContextMenuAttribute)
{ {
attribute = actorContextMenuAttribute; attribute = actorContextMenuAttribute;
break;
} }
} }
var splitPath = attribute?.Path.Split('/'); if (attribute == null)
continue;
var splitPath = attribute.Path.Split('/');
ContextMenuChildMenu childCM = null; ContextMenuChildMenu childCM = null;
bool mainCM = true; bool mainCM = true;
for (int i = 0; i < splitPath?.Length; i++) for (int i = 0; i < splitPath?.Length; i++)

View File

@@ -63,17 +63,20 @@ namespace FlaxEditor.Windows
convertMenu.ContextMenu.AutoSort = true; convertMenu.ContextMenu.AutoSort = true;
foreach (var actorType in Editor.CodeEditing.Actors.Get()) foreach (var actorType in Editor.CodeEditing.Actors.Get())
{ {
if (actorType.IsAbstract || !actorType.HasAttribute(typeof(ActorContextMenuAttribute), true)) if (actorType.IsAbstract)
continue; continue;
ActorContextMenuAttribute attribute = null; ActorContextMenuAttribute attribute = null;
foreach (var actorAttribute in actorType.GetAttributes(true)) foreach (var e in actorType.GetAttributes(true))
{ {
if (actorAttribute is ActorContextMenuAttribute actorContextMenuAttribute) if (e is ActorContextMenuAttribute actorContextMenuAttribute)
{ {
attribute = actorContextMenuAttribute; attribute = actorContextMenuAttribute;
break;
} }
} }
if (attribute == null)
continue;
var splitPath = attribute?.Path.Split('/'); var splitPath = attribute?.Path.Split('/');
ContextMenuChildMenu childCM = convertMenu; ContextMenuChildMenu childCM = convertMenu;
bool mainCM = true; bool mainCM = true;
@@ -94,11 +97,9 @@ namespace FlaxEditor.Windows
} }
else else
{ {
// remove new path for converting menu // Remove new path for converting menu
if (splitPath[i] == "New") if (splitPath[i] == "New")
{
continue; continue;
}
if (mainCM) if (mainCM)
{ {

View File

@@ -7,7 +7,7 @@
/// <summary> /// <summary>
/// Represents a listener that hears audio sources. For spatial audio the volume and pitch of played audio is determined by the distance, orientation and velocity differences between the source and the listener. /// Represents a listener that hears audio sources. For spatial audio the volume and pitch of played audio is determined by the distance, orientation and velocity differences between the source and the listener.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Audio/Audio Listener\")") class FLAXENGINE_API AudioListener : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Audio/Audio Listener\")") class FLAXENGINE_API AudioListener : public Actor
{ {
DECLARE_SCENE_OBJECT(AudioListener); DECLARE_SCENE_OBJECT(AudioListener);
private: private:

View File

@@ -13,7 +13,7 @@
/// <remarks> /// <remarks>
/// Whether or not an audio source is spatial is controlled by the assigned AudioClip.The volume and the pitch of a spatial audio source is controlled by its position and the AudioListener's position/direction/velocity. /// Whether or not an audio source is spatial is controlled by the assigned AudioClip.The volume and the pitch of a spatial audio source is controlled by its position and the AudioListener's position/direction/velocity.
/// </remarks> /// </remarks>
API_CLASS(Attributes = "ActorContextMenu(\"New/Audio/Audio Source\")") class FLAXENGINE_API AudioSource : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Audio/Audio Source\")") class FLAXENGINE_API AudioSource : public Actor
{ {
DECLARE_SCENE_OBJECT(AudioSource); DECLARE_SCENE_OBJECT(AudioSource);
friend class AudioStreamingHandler; friend class AudioStreamingHandler;

View File

@@ -12,7 +12,7 @@
/// <summary> /// <summary>
/// Performs an animation and renders a skinned model. /// Performs an animation and renders a skinned model.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Other/Animated Model\")") class FLAXENGINE_API AnimatedModel : public ModelInstanceActor API_CLASS(Attributes="ActorContextMenu(\"New/Other/Animated Model\")") class FLAXENGINE_API AnimatedModel : public ModelInstanceActor
{ {
DECLARE_SCENE_OBJECT(AnimatedModel); DECLARE_SCENE_OBJECT(AnimatedModel);
friend class AnimationsSystem; friend class AnimationsSystem;

View File

@@ -7,7 +7,7 @@
/// <summary> /// <summary>
/// Actor that links to the animated model skeleton node transformation. /// Actor that links to the animated model skeleton node transformation.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Other/Bone Socket\")") class FLAXENGINE_API BoneSocket : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Other/Bone Socket\")") class FLAXENGINE_API BoneSocket : public Actor
{ {
DECLARE_SCENE_OBJECT(BoneSocket); DECLARE_SCENE_OBJECT(BoneSocket);

View File

@@ -65,7 +65,7 @@ public:
/// <summary> /// <summary>
/// Performs CSG box brush operation that adds or removes geometry. /// Performs CSG box brush operation that adds or removes geometry.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Other/Box Brush\")") class FLAXENGINE_API BoxBrush : public Actor, public CSG::Brush API_CLASS(Attributes="ActorContextMenu(\"New/Other/Box Brush\")") class FLAXENGINE_API BoxBrush : public Actor, public CSG::Brush
{ {
DECLARE_SCENE_OBJECT(BoxBrush); DECLARE_SCENE_OBJECT(BoxBrush);
private: private:

View File

@@ -18,7 +18,7 @@
/// <summary> /// <summary>
/// Describes the camera projection and view. Provides information about how to render scene (viewport location and direction, etc.). /// Describes the camera projection and view. Provides information about how to render scene (viewport location and direction, etc.).
/// </summary> /// </summary>
API_CLASS(Sealed, Attributes = "ActorContextMenu(\"New/Camera\")") class FLAXENGINE_API Camera : public Actor API_CLASS(Sealed, Attributes="ActorContextMenu(\"New/Camera\")") class FLAXENGINE_API Camera : public Actor
{ {
DECLARE_SCENE_OBJECT(Camera); DECLARE_SCENE_OBJECT(Camera);

View File

@@ -11,7 +11,7 @@
/// <summary> /// <summary>
/// Actor that draws the can be used to draw a custom decals on top of the other objects. /// Actor that draws the can be used to draw a custom decals on top of the other objects.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Visuals/Decal\")") class FLAXENGINE_API Decal : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Visuals/Decal\")") class FLAXENGINE_API Decal : public Actor
{ {
DECLARE_SCENE_OBJECT(Decal); DECLARE_SCENE_OBJECT(Decal);
private: private:

View File

@@ -7,7 +7,7 @@
/// <summary> /// <summary>
/// Directional light emits light from direction in space. /// Directional light emits light from direction in space.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Lights/Directional Light\")") class FLAXENGINE_API DirectionalLight : public LightWithShadow API_CLASS(Attributes="ActorContextMenu(\"New/Lights/Directional Light\")") class FLAXENGINE_API DirectionalLight : public LightWithShadow
{ {
DECLARE_SCENE_OBJECT(DirectionalLight); DECLARE_SCENE_OBJECT(DirectionalLight);
private: private:

View File

@@ -7,7 +7,7 @@
/// <summary> /// <summary>
/// The empty actor that is useful to create hierarchy and/or hold scripts. See <see cref="Script"/>. /// The empty actor that is useful to create hierarchy and/or hold scripts. See <see cref="Script"/>.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Actor\")") class FLAXENGINE_API EmptyActor : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Actor\")") class FLAXENGINE_API EmptyActor : public Actor
{ {
DECLARE_SCENE_OBJECT(EmptyActor); DECLARE_SCENE_OBJECT(EmptyActor);
public: public:

View File

@@ -10,7 +10,7 @@
/// <summary> /// <summary>
/// Environment Probe can capture space around the objects to provide reflections. /// Environment Probe can capture space around the objects to provide reflections.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Visuals/Environment Probe\")") class FLAXENGINE_API EnvironmentProbe : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Visuals/Environment Probe\")") class FLAXENGINE_API EnvironmentProbe : public Actor
{ {
DECLARE_SCENE_OBJECT(EnvironmentProbe); DECLARE_SCENE_OBJECT(EnvironmentProbe);
public: public:

View File

@@ -12,7 +12,7 @@
/// <summary> /// <summary>
/// Used to create fogging effects such as clouds but with a density that is related to the height of the fog. /// Used to create fogging effects such as clouds but with a density that is related to the height of the fog.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Visuals/Exponential Height Fog\")") class FLAXENGINE_API ExponentialHeightFog : public Actor, public IFogRenderer API_CLASS(Attributes="ActorContextMenu(\"New/Visuals/Exponential Height Fog\")") class FLAXENGINE_API ExponentialHeightFog : public Actor, public IFogRenderer
{ {
DECLARE_SCENE_OBJECT(ExponentialHeightFog); DECLARE_SCENE_OBJECT(ExponentialHeightFog);
private: private:

View File

@@ -9,7 +9,7 @@
/// <summary> /// <summary>
/// Point light emits light from point in all directions. /// Point light emits light from point in all directions.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Lights/Point Light\")") class FLAXENGINE_API PointLight : public LightWithShadow API_CLASS(Attributes="ActorContextMenu(\"New/Lights/Point Light\")") class FLAXENGINE_API PointLight : public LightWithShadow
{ {
DECLARE_SCENE_OBJECT(PointLight); DECLARE_SCENE_OBJECT(PointLight);
private: private:

View File

@@ -9,7 +9,7 @@
/// <summary> /// <summary>
/// A special type of volume that blends custom set of post process settings into the rendering. /// A special type of volume that blends custom set of post process settings into the rendering.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Visuals/Post Fx Volume\")") class FLAXENGINE_API PostFxVolume : public BoxVolume, public IPostFxSettingsProvider API_CLASS(Attributes="ActorContextMenu(\"New/Visuals/Post Fx Volume\")") class FLAXENGINE_API PostFxVolume : public BoxVolume, public IPostFxSettingsProvider
{ {
DECLARE_SCENE_OBJECT(PostFxVolume); DECLARE_SCENE_OBJECT(PostFxVolume);
private: private:

View File

@@ -14,7 +14,7 @@ class GPUPipelineState;
/// <summary> /// <summary>
/// Sky actor renders atmosphere around the scene with fog and sky. /// Sky actor renders atmosphere around the scene with fog and sky.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Visuals/Sky\")") class FLAXENGINE_API Sky : public Actor, public IAtmosphericFogRenderer, public ISkyRenderer API_CLASS(Attributes="ActorContextMenu(\"New/Visuals/Sky\")") class FLAXENGINE_API Sky : public Actor, public IAtmosphericFogRenderer, public ISkyRenderer
{ {
DECLARE_SCENE_OBJECT(Sky); DECLARE_SCENE_OBJECT(Sky);
private: private:

View File

@@ -9,7 +9,7 @@
/// <summary> /// <summary>
/// Sky light captures the distant parts of the scene and applies it as a light. Allows to add ambient light. /// Sky light captures the distant parts of the scene and applies it as a light. Allows to add ambient light.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Lights/Sky Light\")") class FLAXENGINE_API SkyLight : public Light API_CLASS(Attributes="ActorContextMenu(\"New/Lights/Sky Light\")") class FLAXENGINE_API SkyLight : public Light
{ {
DECLARE_SCENE_OBJECT(SkyLight); DECLARE_SCENE_OBJECT(SkyLight);
public: public:

View File

@@ -11,7 +11,7 @@
/// <summary> /// <summary>
/// Skybox actor renders sky using custom cube texture or material. /// Skybox actor renders sky using custom cube texture or material.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Visuals/Sky Box\")") class FLAXENGINE_API Skybox : public Actor, public ISkyRenderer API_CLASS(Attributes="ActorContextMenu(\"New/Visuals/Sky Box\")") class FLAXENGINE_API Skybox : public Actor, public ISkyRenderer
{ {
DECLARE_SCENE_OBJECT(Skybox); DECLARE_SCENE_OBJECT(Skybox);
private: private:

View File

@@ -8,7 +8,7 @@
/// <summary> /// <summary>
/// Spline shape actor that defines spatial curve with utility functions for general purpose usage. /// Spline shape actor that defines spatial curve with utility functions for general purpose usage.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Other/Spline\")") class FLAXENGINE_API Spline : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Other/Spline\")") class FLAXENGINE_API Spline : public Actor
{ {
DECLARE_SCENE_OBJECT(Spline); DECLARE_SCENE_OBJECT(Spline);
typedef BezierCurveKeyframe<Transform> Keyframe; typedef BezierCurveKeyframe<Transform> Keyframe;

View File

@@ -9,7 +9,7 @@
/// <summary> /// <summary>
/// Spot light emits light from the point in a given direction. /// Spot light emits light from the point in a given direction.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Lights/Spot Light\")") class FLAXENGINE_API SpotLight : public LightWithShadow API_CLASS(Attributes="ActorContextMenu(\"New/Lights/Spot Light\")") class FLAXENGINE_API SpotLight : public LightWithShadow
{ {
DECLARE_SCENE_OBJECT(SpotLight); DECLARE_SCENE_OBJECT(SpotLight);
private: private:

View File

@@ -10,7 +10,7 @@
/// <summary> /// <summary>
/// Renders model on the screen. /// Renders model on the screen.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Model\")") class FLAXENGINE_API StaticModel : public ModelInstanceActor API_CLASS(Attributes="ActorContextMenu(\"New/Model\")") class FLAXENGINE_API StaticModel : public ModelInstanceActor
{ {
DECLARE_SCENE_OBJECT(StaticModel); DECLARE_SCENE_OBJECT(StaticModel);
private: private:

View File

@@ -8,7 +8,7 @@
/// The off-mesh link objects used to define a custom point-to-point edge within the navigation graph. /// The off-mesh link objects used to define a custom point-to-point edge within the navigation graph.
/// An off-mesh connection is a user defined traversable connection made up to two vertices, at least one of which resides within a navigation mesh polygon allowing movement outside the navigation mesh. /// An off-mesh connection is a user defined traversable connection made up to two vertices, at least one of which resides within a navigation mesh polygon allowing movement outside the navigation mesh.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Other/Nav Link\")") class FLAXENGINE_API NavLink : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Other/Nav Link\")") class FLAXENGINE_API NavLink : public Actor
{ {
DECLARE_SCENE_OBJECT(NavLink); DECLARE_SCENE_OBJECT(NavLink);
public: public:

View File

@@ -8,7 +8,7 @@
/// <summary> /// <summary>
/// A special type of volume that defines the area of the scene in which navigation meshes are generated. /// A special type of volume that defines the area of the scene in which navigation meshes are generated.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Other/Nav Mesh Bounds Volume\")") class FLAXENGINE_API NavMeshBoundsVolume : public BoxVolume API_CLASS(Attributes="ActorContextMenu(\"New/Other/Nav Mesh Bounds Volume\")") class FLAXENGINE_API NavMeshBoundsVolume : public BoxVolume
{ {
DECLARE_SCENE_OBJECT(NavMeshBoundsVolume); DECLARE_SCENE_OBJECT(NavMeshBoundsVolume);
public: public:

View File

@@ -8,7 +8,7 @@
/// <summary> /// <summary>
/// A special type of volume that defines the area of the scene in which navigation is restricted (eg. higher traversal cost or dynamic obstacle block). /// A special type of volume that defines the area of the scene in which navigation is restricted (eg. higher traversal cost or dynamic obstacle block).
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Other/Nav Modifier Volume\")") class FLAXENGINE_API NavModifierVolume : public BoxVolume API_CLASS(Attributes="ActorContextMenu(\"New/Other/Nav Modifier Volume\")") class FLAXENGINE_API NavModifierVolume : public BoxVolume
{ {
DECLARE_SCENE_OBJECT(NavModifierVolume); DECLARE_SCENE_OBJECT(NavModifierVolume);
public: public:

View File

@@ -133,7 +133,7 @@ public:
/// <summary> /// <summary>
/// The particle system instance that plays the particles simulation in the game. /// The particle system instance that plays the particles simulation in the game.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/Visuals/Particle Effects\")") class FLAXENGINE_API ParticleEffect : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/Visuals/Particle Effects\")") class FLAXENGINE_API ParticleEffect : public Actor
{ {
DECLARE_SCENE_OBJECT(ParticleEffect); DECLARE_SCENE_OBJECT(ParticleEffect);
public: public:

View File

@@ -14,7 +14,7 @@ class Collider;
/// Physics simulation driven object. /// Physics simulation driven object.
/// </summary> /// </summary>
/// <seealso cref="Actor" /> /// <seealso cref="Actor" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Rigid Body\")") class FLAXENGINE_API RigidBody : public Actor, public IPhysicsActor API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Rigid Body\")") class FLAXENGINE_API RigidBody : public Actor, public IPhysicsActor
{ {
DECLARE_SCENE_OBJECT(RigidBody); DECLARE_SCENE_OBJECT(RigidBody);
protected: protected:
@@ -79,9 +79,7 @@ public:
/// <summary> /// <summary>
/// Gets the 'drag' force added to reduce linear movement. /// Gets the 'drag' force added to reduce linear movement.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Linear damping can be used to slow down an object. The higher the drag the more the object slows down.</remarks>
/// Linear damping can be used to slow down an object. The higher the drag the more the object slows down.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(60), DefaultValue(0.01f), Limit(0), EditorDisplay(\"Rigid Body\")") API_PROPERTY(Attributes="EditorOrder(60), DefaultValue(0.01f), Limit(0), EditorDisplay(\"Rigid Body\")")
FORCE_INLINE float GetLinearDamping() const FORCE_INLINE float GetLinearDamping() const
{ {
@@ -91,18 +89,14 @@ public:
/// <summary> /// <summary>
/// Sets the 'drag' force added to reduce linear movement. /// Sets the 'drag' force added to reduce linear movement.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Linear damping can be used to slow down an object. The higher the drag the more the object slows down.</remarks>
/// Linear damping can be used to slow down an object. The higher the drag the more the object slows down.
/// </remarks>
/// <param name="value">The value.</param> /// <param name="value">The value.</param>
API_PROPERTY() void SetLinearDamping(float value); API_PROPERTY() void SetLinearDamping(float value);
/// <summary> /// <summary>
/// Gets the 'drag' force added to reduce angular movement. /// Gets the 'drag' force added to reduce angular movement.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Angular damping can be used to slow down the rotation of an object. The higher the drag the more the rotation slows down.</remarks>
/// Angular damping can be used to slow down the rotation of an object. The higher the drag the more the rotation slows down.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(70), DefaultValue(0.05f), Limit(0), EditorDisplay(\"Rigid Body\")") API_PROPERTY(Attributes="EditorOrder(70), DefaultValue(0.05f), Limit(0), EditorDisplay(\"Rigid Body\")")
FORCE_INLINE float GetAngularDamping() const FORCE_INLINE float GetAngularDamping() const
{ {
@@ -112,9 +106,7 @@ public:
/// <summary> /// <summary>
/// Sets the 'drag' force added to reduce angular movement. /// Sets the 'drag' force added to reduce angular movement.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Angular damping can be used to slow down the rotation of an object. The higher the drag the more the rotation slows down.</remarks>
/// Angular damping can be used to slow down the rotation of an object. The higher the drag the more the rotation slows down.
/// </remarks>
/// <param name="value">The value.</param> /// <param name="value">The value.</param>
API_PROPERTY() void SetAngularDamping(float value); API_PROPERTY() void SetAngularDamping(float value);
@@ -287,46 +279,35 @@ public:
/// <summary> /// <summary>
/// Gets the linear velocity of the rigidbody. /// Gets the linear velocity of the rigidbody.
/// </summary> /// </summary>
/// <remarks> /// <remarks>It's used mostly to get the current velocity. Manual modifications may result in unrealistic behaviour. </remarks>
/// It's used mostly to get the current velocity. Manual modifications may result in unrealistic behaviour.
/// </remarks>
API_PROPERTY(Attributes="HideInEditor") API_PROPERTY(Attributes="HideInEditor")
Vector3 GetLinearVelocity() const; Vector3 GetLinearVelocity() const;
/// <summary> /// <summary>
/// Sets the linear velocity of the rigidbody. /// Sets the linear velocity of the rigidbody.
/// </summary> /// </summary>
/// <remarks> /// <remarks>It's used mostly to get the current velocity. Manual modifications may result in unrealistic behaviour. </remarks>
/// It's used mostly to get the current velocity. Manual modifications may result in unrealistic behaviour.
/// </remarks>
/// <param name="value">The value.</param> /// <param name="value">The value.</param>
API_PROPERTY() void SetLinearVelocity(const Vector3& value) const; API_PROPERTY() void SetLinearVelocity(const Vector3& value) const;
/// <summary> /// <summary>
/// Gets the angular velocity of the rigidbody measured in radians per second. /// Gets the angular velocity of the rigidbody measured in radians per second.
/// </summary> /// </summary>
/// <remarks> /// <remarks>It's used mostly to get the current angular velocity. Manual modifications may result in unrealistic behaviour. </remarks>
/// It's used mostly to get the current angular velocity. Manual modifications may result in unrealistic behaviour.
/// </remarks>
API_PROPERTY(Attributes="HideInEditor") API_PROPERTY(Attributes="HideInEditor")
Vector3 GetAngularVelocity() const; Vector3 GetAngularVelocity() const;
/// <summary> /// <summary>
/// Sets the angular velocity of the rigidbody measured in radians per second. /// Sets the angular velocity of the rigidbody measured in radians per second.
/// </summary> /// </summary>
/// <remarks> /// <remarks>It's used mostly to get the current angular velocity. Manual modifications may result in unrealistic behaviour.</remarks>
/// It's used mostly to get the current angular velocity. Manual modifications may result in unrealistic behaviour.
/// </remarks>
/// <param name="value">The value.</param> /// <param name="value">The value.</param>
API_PROPERTY() void SetAngularVelocity(const Vector3& value) const; API_PROPERTY() void SetAngularVelocity(const Vector3& value) const;
/// <summary> /// <summary>
/// Gets the maximum depenetration velocity when rigidbody moving out of penetrating state. /// Gets the maximum depenetration velocity when rigidbody moving out of penetrating state.
/// </summary> /// </summary>
/// <remarks> /// <remarks>This value controls how much velocity the solver can introduce to correct for penetrations in contacts. Using this property can smooth objects moving out of colliding state and prevent unstable motion.</remarks>
/// This value controls how much velocity the solver can introduce to correct for penetrations in contacts.
/// Using this property can smooth objects moving out of colliding state and prevent unstable motion.
/// </remarks>
/// <returns>The value</returns> /// <returns>The value</returns>
API_PROPERTY(Attributes="HideInEditor") API_PROPERTY(Attributes="HideInEditor")
float GetMaxDepenetrationVelocity() const; float GetMaxDepenetrationVelocity() const;
@@ -334,19 +315,14 @@ public:
/// <summary> /// <summary>
/// Sets the maximum depenetration velocity when rigidbody moving out of penetrating state. /// Sets the maximum depenetration velocity when rigidbody moving out of penetrating state.
/// </summary> /// </summary>
/// <remarks> /// <remarks>This value controls how much velocity the solver can introduce to correct for penetrations in contacts. Using this property can smooth objects moving out of colliding state and prevent unstable motion.</remarks>
/// This value controls how much velocity the solver can introduce to correct for penetrations in contacts.
/// Using this property can smooth objects moving out of colliding state and prevent unstable motion.
/// </remarks>
/// <param name="value">The value.</param> /// <param name="value">The value.</param>
API_PROPERTY() void SetMaxDepenetrationVelocity(const float value) const; API_PROPERTY() void SetMaxDepenetrationVelocity(const float value) const;
/// <summary> /// <summary>
/// Gets the mass-normalized kinetic energy threshold below which an actor may go to sleep. /// Gets the mass-normalized kinetic energy threshold below which an actor may go to sleep.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Actors whose kinetic energy divided by their mass is below this threshold will be candidates for sleeping.</remarks>
/// Actors whose kinetic energy divided by their mass is below this threshold will be candidates for sleeping.
/// </remarks>
/// <returns>The value</returns> /// <returns>The value</returns>
API_PROPERTY(Attributes="HideInEditor") API_PROPERTY(Attributes="HideInEditor")
float GetSleepThreshold() const; float GetSleepThreshold() const;
@@ -354,9 +330,7 @@ public:
/// <summary> /// <summary>
/// Sets the mass-normalized kinetic energy threshold below which an actor may go to sleep. /// Sets the mass-normalized kinetic energy threshold below which an actor may go to sleep.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Actors whose kinetic energy divided by their mass is below this threshold will be candidates for sleeping.</remarks>
/// Actors whose kinetic energy divided by their mass is below this threshold will be candidates for sleeping.
/// </remarks>
/// <param name="value">The value.</param> /// <param name="value">The value.</param>
API_PROPERTY() void SetSleepThreshold(const float value) const; API_PROPERTY() void SetSleepThreshold(const float value) const;

View File

@@ -9,7 +9,7 @@
/// A box-shaped primitive collider. /// A box-shaped primitive collider.
/// </summary> /// </summary>
/// <seealso cref="Collider" /> /// <seealso cref="Collider" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Box Collider\")") class FLAXENGINE_API BoxCollider : public Collider API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Box Collider\")") class FLAXENGINE_API BoxCollider : public Collider
{ {
DECLARE_SCENE_OBJECT(BoxCollider); DECLARE_SCENE_OBJECT(BoxCollider);
private: private:
@@ -20,9 +20,7 @@ public:
/// <summary> /// <summary>
/// Gets the size of the box, measured in the object's local space. /// Gets the size of the box, measured in the object's local space.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The box size will be scaled by the actor's world scale. </remarks>
/// The box size will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(100), DefaultValue(typeof(Vector3), \"100,100,100\"), EditorDisplay(\"Collider\")") API_PROPERTY(Attributes="EditorOrder(100), DefaultValue(typeof(Vector3), \"100,100,100\"), EditorDisplay(\"Collider\")")
FORCE_INLINE Float3 GetSize() const FORCE_INLINE Float3 GetSize() const
{ {
@@ -32,9 +30,7 @@ public:
/// <summary> /// <summary>
/// Sets the size of the box, measured in the object's local space. /// Sets the size of the box, measured in the object's local space.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The box size will be scaled by the actor's world scale. </remarks>
/// The box size will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY() void SetSize(const Float3& value); API_PROPERTY() void SetSize(const Float3& value);
/// <summary> /// <summary>

View File

@@ -8,11 +8,9 @@
/// <summary> /// <summary>
/// A capsule-shaped primitive collider. /// A capsule-shaped primitive collider.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Capsules are cylinders with a half-sphere at each end centered at the origin and extending along the X axis, and two hemispherical ends.</remarks>
/// Capsules are cylinders with a half-sphere at each end centered at the origin and extending along the X axis, and two hemispherical ends.
/// </remarks>
/// <seealso cref="Collider" /> /// <seealso cref="Collider" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Capsule Collider\")") class FLAXENGINE_API CapsuleCollider : public Collider API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Capsule Collider\")") class FLAXENGINE_API CapsuleCollider : public Collider
{ {
DECLARE_SCENE_OBJECT(CapsuleCollider); DECLARE_SCENE_OBJECT(CapsuleCollider);
private: private:
@@ -24,9 +22,7 @@ public:
/// <summary> /// <summary>
/// Gets the radius of the sphere, measured in the object's local space. /// Gets the radius of the sphere, measured in the object's local space.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The sphere radius will be scaled by the actor's world scale.</remarks>
/// The sphere radius will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(100), DefaultValue(20.0f), EditorDisplay(\"Collider\")") API_PROPERTY(Attributes="EditorOrder(100), DefaultValue(20.0f), EditorDisplay(\"Collider\")")
FORCE_INLINE float GetRadius() const FORCE_INLINE float GetRadius() const
{ {
@@ -36,17 +32,13 @@ public:
/// <summary> /// <summary>
/// Sets the radius of the sphere, measured in the object's local space. /// Sets the radius of the sphere, measured in the object's local space.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The sphere radius will be scaled by the actor's world scale. </remarks>
/// The sphere radius will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY() void SetRadius(float value); API_PROPERTY() void SetRadius(float value);
/// <summary> /// <summary>
/// Gets the height of the capsule, measured in the object's local space between the centers of the hemispherical ends. /// Gets the height of the capsule, measured in the object's local space between the centers of the hemispherical ends.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The capsule height will be scaled by the actor's world scale.</remarks>
/// The capsule height will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(110), DefaultValue(100.0f), EditorDisplay(\"Collider\")") API_PROPERTY(Attributes="EditorOrder(110), DefaultValue(100.0f), EditorDisplay(\"Collider\")")
FORCE_INLINE float GetHeight() const FORCE_INLINE float GetHeight() const
{ {
@@ -56,9 +48,7 @@ public:
/// <summary> /// <summary>
/// Sets the height of the capsule, measured in the object's local space between the centers of the hemispherical ends. /// Sets the height of the capsule, measured in the object's local space between the centers of the hemispherical ends.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The capsule height will be scaled by the actor's world scale.</remarks>
/// The capsule height will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY() void SetHeight(float value); API_PROPERTY() void SetHeight(float value);
public: public:

View File

@@ -9,7 +9,7 @@
/// Physical objects that allows to easily do player movement constrained by collisions without having to deal with a rigidbody. /// Physical objects that allows to easily do player movement constrained by collisions without having to deal with a rigidbody.
/// </summary> /// </summary>
/// <seealso cref="Collider" /> /// <seealso cref="Collider" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Character Controller\")") class FLAXENGINE_API CharacterController : public Collider, public IPhysicsActor API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Character Controller\")") class FLAXENGINE_API CharacterController : public Collider, public IPhysicsActor
{ {
DECLARE_SCENE_OBJECT(CharacterController); DECLARE_SCENE_OBJECT(CharacterController);
public: public:

View File

@@ -10,7 +10,7 @@
/// A collider represented by an arbitrary mesh. /// A collider represented by an arbitrary mesh.
/// </summary> /// </summary>
/// <seealso cref="Collider" /> /// <seealso cref="Collider" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Mesh Collider\")") class FLAXENGINE_API MeshCollider : public Collider API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Mesh Collider\")") class FLAXENGINE_API MeshCollider : public Collider
{ {
DECLARE_SCENE_OBJECT(MeshCollider); DECLARE_SCENE_OBJECT(MeshCollider);
public: public:

View File

@@ -8,7 +8,7 @@
/// A sphere-shaped primitive collider. /// A sphere-shaped primitive collider.
/// </summary> /// </summary>
/// <seealso cref="Collider" /> /// <seealso cref="Collider" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Sphere Collider\")") class FLAXENGINE_API SphereCollider : public Collider API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Sphere Collider\")") class FLAXENGINE_API SphereCollider : public Collider
{ {
DECLARE_SCENE_OBJECT(SphereCollider); DECLARE_SCENE_OBJECT(SphereCollider);
private: private:
@@ -18,9 +18,7 @@ public:
/// <summary> /// <summary>
/// Gets the radius of the sphere, measured in the object's local space. /// Gets the radius of the sphere, measured in the object's local space.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The sphere radius will be scaled by the actor's world scale.</remarks>
/// The sphere radius will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(100), DefaultValue(50.0f), EditorDisplay(\"Collider\")") API_PROPERTY(Attributes="EditorOrder(100), DefaultValue(50.0f), EditorDisplay(\"Collider\")")
FORCE_INLINE float GetRadius() const FORCE_INLINE float GetRadius() const
{ {
@@ -30,9 +28,7 @@ public:
/// <summary> /// <summary>
/// Sets the radius of the sphere, measured in the object's local space. /// Sets the radius of the sphere, measured in the object's local space.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The sphere radius will be scaled by the actor's world scale.</remarks>
/// The sphere radius will be scaled by the actor's world scale.
/// </remarks>
API_PROPERTY() void SetRadius(float value); API_PROPERTY() void SetRadius(float value);
public: public:

View File

@@ -160,7 +160,7 @@ public:
/// It also allows you to constrain limits to only specific axes or completely lock specific axes. /// It also allows you to constrain limits to only specific axes or completely lock specific axes.
/// </summary> /// </summary>
/// <seealso cref="Joint" /> /// <seealso cref="Joint" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/D6 Joint\")") class FLAXENGINE_API D6Joint : public Joint API_CLASS(Attributes="ActorContextMenu(\"New/Physics/D6 Joint\")") class FLAXENGINE_API D6Joint : public Joint
{ {
DECLARE_SCENE_OBJECT(D6Joint); DECLARE_SCENE_OBJECT(D6Joint);
private: private:
@@ -174,9 +174,7 @@ public:
/// <summary> /// <summary>
/// Gets the motion type around the specified axis. /// Gets the motion type around the specified axis.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Each axis may independently specify that the degree of freedom is locked (blocking relative movement along or around this axis), limited by the corresponding limit, or free.</remarks>
/// Each axis may independently specify that the degree of freedom is locked (blocking relative movement along or around this axis), limited by the corresponding limit, or free.
/// </remarks>
/// <param name="axis">The axis the degree of freedom around which the motion type is specified.</param> /// <param name="axis">The axis the degree of freedom around which the motion type is specified.</param>
/// <returns>The value.</returns> /// <returns>The value.</returns>
API_FUNCTION() FORCE_INLINE D6JointMotion GetMotion(const D6JointAxis axis) const API_FUNCTION() FORCE_INLINE D6JointMotion GetMotion(const D6JointAxis axis) const
@@ -187,9 +185,7 @@ public:
/// <summary> /// <summary>
/// Sets the motion type around the specified axis. /// Sets the motion type around the specified axis.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Each axis may independently specify that the degree of freedom is locked (blocking relative movement along or around this axis), limited by the corresponding limit, or free.</remarks>
/// Each axis may independently specify that the degree of freedom is locked (blocking relative movement along or around this axis), limited by the corresponding limit, or free.
/// </remarks>
/// <param name="axis">The axis the degree of freedom around which the motion type is specified.</param> /// <param name="axis">The axis the degree of freedom around which the motion type is specified.</param>
/// <param name="value">The value.</param> /// <param name="value">The value.</param>
API_FUNCTION() void SetMotion(const D6JointAxis axis, const D6JointMotion value); API_FUNCTION() void SetMotion(const D6JointAxis axis, const D6JointMotion value);

View File

@@ -37,7 +37,7 @@ DECLARE_ENUM_OPERATORS(DistanceJointFlag);
/// Physics joint that maintains an upper or lower (or both) bound on the distance between two bodies. /// Physics joint that maintains an upper or lower (or both) bound on the distance between two bodies.
/// </summary> /// </summary>
/// <seealso cref="Joint" /> /// <seealso cref="Joint" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Distance Joint\")") class FLAXENGINE_API DistanceJoint : public Joint API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Distance Joint\")") class FLAXENGINE_API DistanceJoint : public Joint
{ {
DECLARE_SCENE_OBJECT(DistanceJoint); DECLARE_SCENE_OBJECT(DistanceJoint);
private: private:
@@ -65,9 +65,7 @@ public:
/// <summary> /// <summary>
/// Gets the allowed minimum distance for the joint. /// Gets the allowed minimum distance for the joint.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Used only when DistanceJointFlag.MinDistance flag is set. The minimum distance must be no more than the maximum distance. Default: 0, Range: [0, float.MaxValue].</remarks>
/// Used only when DistanceJointFlag.MinDistance flag is set. The minimum distance must be no more than the maximum distance. Default: 0, Range: [0, float.MaxValue].
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(110), DefaultValue(0.0f), Limit(0.0f), EditorDisplay(\"Joint\")") API_PROPERTY(Attributes="EditorOrder(110), DefaultValue(0.0f), Limit(0.0f), EditorDisplay(\"Joint\")")
FORCE_INLINE float GetMinDistance() const FORCE_INLINE float GetMinDistance() const
{ {
@@ -77,17 +75,13 @@ public:
/// <summary> /// <summary>
/// Sets the allowed minimum distance for the joint. /// Sets the allowed minimum distance for the joint.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Used only when DistanceJointFlag.MinDistance flag is set. The minimum distance must be no more than the maximum distance. Default: 0, Range: [0, float.MaxValue].</remarks>
/// Used only when DistanceJointFlag.MinDistance flag is set. The minimum distance must be no more than the maximum distance. Default: 0, Range: [0, float.MaxValue].
/// </remarks>
API_PROPERTY() void SetMinDistance(float value); API_PROPERTY() void SetMinDistance(float value);
/// <summary> /// <summary>
/// Gets the allowed maximum distance for the joint. /// Gets the allowed maximum distance for the joint.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Used only when DistanceJointFlag.MaxDistance flag is set. The maximum distance must be no less than the minimum distance. Default: 0, Range: [0, float.MaxValue].</remarks>
/// Used only when DistanceJointFlag.MaxDistance flag is set. The maximum distance must be no less than the minimum distance. Default: 0, Range: [0, float.MaxValue].
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(120), DefaultValue(10.0f), Limit(0.0f), EditorDisplay(\"Joint\")") API_PROPERTY(Attributes="EditorOrder(120), DefaultValue(10.0f), Limit(0.0f), EditorDisplay(\"Joint\")")
FORCE_INLINE float GetMaxDistance() const FORCE_INLINE float GetMaxDistance() const
{ {
@@ -97,17 +91,13 @@ public:
/// <summary> /// <summary>
/// Sets the allowed maximum distance for the joint. /// Sets the allowed maximum distance for the joint.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Used only when DistanceJointFlag.MaxDistance flag is set. The maximum distance must be no less than the minimum distance. Default: 0, Range: [0, float.MaxValue].</remarks>
/// Used only when DistanceJointFlag.MaxDistance flag is set. The maximum distance must be no less than the minimum distance. Default: 0, Range: [0, float.MaxValue].
/// </remarks>
API_PROPERTY() void SetMaxDistance(float value); API_PROPERTY() void SetMaxDistance(float value);
/// <summary> /// <summary>
/// Gets the error tolerance of the joint. /// Gets the error tolerance of the joint.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The distance beyond the joint's [min, max] range before the joint becomes active. Default: 25, Range: [0.1, float.MaxValue].</remarks>
/// The distance beyond the joint's [min, max] range before the joint becomes active. Default: 25, Range: [0.1, float.MaxValue].
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(130), DefaultValue(25.0f), Limit(0.0f), EditorDisplay(\"Joint\")") API_PROPERTY(Attributes="EditorOrder(130), DefaultValue(25.0f), Limit(0.0f), EditorDisplay(\"Joint\")")
FORCE_INLINE float GetTolerance() const FORCE_INLINE float GetTolerance() const
{ {
@@ -117,9 +107,7 @@ public:
/// <summary> /// <summary>
/// Sets the error tolerance of the joint. /// Sets the error tolerance of the joint.
/// </summary> /// </summary>
/// <remarks> /// <remarks>The distance beyond the joint's [min, max] range before the joint becomes active. Default: 25, Range: [0.1, float.MaxValue]. </remarks>
/// The distance beyond the joint's [min, max] range before the joint becomes active. Default: 25, Range: [0.1, float.MaxValue].
/// </remarks>
API_PROPERTY() void SetTolerance(float value); API_PROPERTY() void SetTolerance(float value);
/// <summary> /// <summary>

View File

@@ -8,7 +8,7 @@
/// Physics joint that maintains a fixed distance and orientation between its two attached bodies. /// Physics joint that maintains a fixed distance and orientation between its two attached bodies.
/// </summary> /// </summary>
/// <seealso cref="Joint" /> /// <seealso cref="Joint" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Fixed Joint\")") class FLAXENGINE_API FixedJoint : public Joint API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Fixed Joint\")") class FLAXENGINE_API FixedJoint : public Joint
{ {
DECLARE_SCENE_OBJECT(FixedJoint); DECLARE_SCENE_OBJECT(FixedJoint);
public: public:

View File

@@ -57,17 +57,9 @@ API_STRUCT() struct HingeJointDrive
API_FIELD() bool FreeSpin = false; API_FIELD() bool FreeSpin = false;
public: public:
/// <summary>
/// Compares two objects.
/// </summary>
/// <param name="other">The other.</param>
/// <returns>True if both objects are equal.</returns>
bool operator==(const HingeJointDrive& other) const bool operator==(const HingeJointDrive& other) const
{ {
return Velocity == other.Velocity return Math::NearEqual(Velocity, other.Velocity) && Math::NearEqual(ForceLimit, other.ForceLimit) && Math::NearEqual(GearRatio, other.GearRatio) && FreeSpin == other.FreeSpin;
&& ForceLimit == other.ForceLimit
&& GearRatio == other.GearRatio
&& FreeSpin && other.FreeSpin;
} }
}; };
@@ -75,7 +67,7 @@ public:
/// Physics joint that removes all but a single rotation degree of freedom from its two attached bodies (for example a door hinge). /// Physics joint that removes all but a single rotation degree of freedom from its two attached bodies (for example a door hinge).
/// </summary> /// </summary>
/// <seealso cref="Joint" /> /// <seealso cref="Joint" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Hinge Joint\")") class FLAXENGINE_API HingeJoint : public Joint API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Hinge Joint\")") class FLAXENGINE_API HingeJoint : public Joint
{ {
DECLARE_SCENE_OBJECT(HingeJoint); DECLARE_SCENE_OBJECT(HingeJoint);
private: private:
@@ -101,9 +93,7 @@ public:
/// <summary> /// <summary>
/// Gets the joint limit properties. /// Gets the joint limit properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.</remarks>
/// Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(110), EditorDisplay(\"Joint\")") API_PROPERTY(Attributes="EditorOrder(110), EditorDisplay(\"Joint\")")
FORCE_INLINE LimitAngularRange GetLimit() const FORCE_INLINE LimitAngularRange GetLimit() const
{ {
@@ -113,17 +103,13 @@ public:
/// <summary> /// <summary>
/// Sets the joint limit properties. /// Sets the joint limit properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.</remarks>
/// Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.
/// </remarks>
API_PROPERTY() void SetLimit(const LimitAngularRange& value); API_PROPERTY() void SetLimit(const LimitAngularRange& value);
/// <summary> /// <summary>
/// Gets the joint drive properties. /// Gets the joint drive properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines the drive properties of the joint. It drives the joint's angular velocity towards a particular value. You must enable the drive flag on the joint in order for the drive to be active.</remarks>
/// Determines the drive properties of the joint. It drives the joint's angular velocity towards a particular value. You must enable the drive flag on the joint in order for the drive to be active.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(120), EditorDisplay(\"Joint\")") API_PROPERTY(Attributes="EditorOrder(120), EditorDisplay(\"Joint\")")
FORCE_INLINE HingeJointDrive GetDrive() const FORCE_INLINE HingeJointDrive GetDrive() const
{ {
@@ -133,9 +119,7 @@ public:
/// <summary> /// <summary>
/// Sets the joint drive properties. /// Sets the joint drive properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines the drive properties of the joint. It drives the joint's angular velocity towards a particular value. You must enable the drive flag on the joint in order for the drive to be active.</remarks>
/// Determines the drive properties of the joint. It drives the joint's angular velocity towards a particular value. You must enable the drive flag on the joint in order for the drive to be active.
/// </remarks>
API_PROPERTY() void SetDrive(const HingeJointDrive& value); API_PROPERTY() void SetDrive(const HingeJointDrive& value);
public: public:

View File

@@ -27,7 +27,7 @@ DECLARE_ENUM_OPERATORS(SliderJointFlag);
/// Physics joint that removes all but a single translational degree of freedom. Bodies are allowed to move along a single axis. /// Physics joint that removes all but a single translational degree of freedom. Bodies are allowed to move along a single axis.
/// </summary> /// </summary>
/// <seealso cref="Joint" /> /// <seealso cref="Joint" />
API_CLASS(Attributes = "ActorContextMenu(\"New/Physics/Slider Joint\")") class FLAXENGINE_API SliderJoint : public Joint API_CLASS(Attributes="ActorContextMenu(\"New/Physics/Slider Joint\")") class FLAXENGINE_API SliderJoint : public Joint
{ {
DECLARE_SCENE_OBJECT(SliderJoint); DECLARE_SCENE_OBJECT(SliderJoint);
private: private:
@@ -52,9 +52,7 @@ public:
/// <summary> /// <summary>
/// Gets the joint limit properties. /// Gets the joint limit properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.</remarks>
/// Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(110), EditorDisplay(\"Joint\")") API_PROPERTY(Attributes="EditorOrder(110), EditorDisplay(\"Joint\")")
FORCE_INLINE LimitLinearRange GetLimit() const FORCE_INLINE LimitLinearRange GetLimit() const
{ {
@@ -64,9 +62,7 @@ public:
/// <summary> /// <summary>
/// Sets the joint limit properties. /// Sets the joint limit properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines a limit that constrains the movement of the joint to a specific minimum and maximum distance. You must enable the limit flag on the joint in order for this to be recognized.</remarks>
/// Determines a limit that constrains the movement of the joint to a specific minimum and maximum distance. You must enable the limit flag on the joint in order for this to be recognized.
/// </remarks>
API_PROPERTY() void SetLimit(const LimitLinearRange& value); API_PROPERTY() void SetLimit(const LimitLinearRange& value);
public: public:

View File

@@ -54,9 +54,7 @@ public:
/// <summary> /// <summary>
/// Gets the joint limit properties. /// Gets the joint limit properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.</remarks>
/// Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the limit flag on the joint in order for this to be recognized.
/// </remarks>
API_PROPERTY(Attributes="EditorOrder(110), EditorDisplay(\"Joint\")") API_PROPERTY(Attributes="EditorOrder(110), EditorDisplay(\"Joint\")")
FORCE_INLINE LimitConeRange GetLimit() const FORCE_INLINE LimitConeRange GetLimit() const
{ {
@@ -66,9 +64,7 @@ public:
/// <summary> /// <summary>
/// Sets the joint limit properties. /// Sets the joint limit properties.
/// </summary> /// </summary>
/// <remarks> /// <remarks>Determines a limit that constrains the movement of the joint to a specific minimum and maximum distance. You must enable the limit flag on the joint in order for this to be recognized.</remarks>
/// Determines a limit that constrains the movement of the joint to a specific minimum and maximum distance. You must enable the limit flag on the joint in order for this to be recognized.
/// </remarks>
API_PROPERTY() void SetLimit(const LimitConeRange& value); API_PROPERTY() void SetLimit(const LimitConeRange& value);
public: public:

View File

@@ -10,7 +10,7 @@
/// <summary> /// <summary>
/// Sprite rendering object. /// Sprite rendering object.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/UI/Sprite Render\")") class FLAXENGINE_API SpriteRender : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/UI/Sprite Render\")") class FLAXENGINE_API SpriteRender : public Actor
{ {
DECLARE_SCENE_OBJECT(SpriteRender); DECLARE_SCENE_OBJECT(SpriteRender);
private: private:

View File

@@ -19,7 +19,7 @@
/// <summary> /// <summary>
/// Text rendering object. /// Text rendering object.
/// </summary> /// </summary>
API_CLASS(Attributes = "ActorContextMenu(\"New/UI/Text Render\")") class FLAXENGINE_API TextRender : public Actor API_CLASS(Attributes="ActorContextMenu(\"New/UI/Text Render\")") class FLAXENGINE_API TextRender : public Actor
{ {
DECLARE_SCENE_OBJECT(TextRender); DECLARE_SCENE_OBJECT(TextRender);
private: private:

View File

@@ -7,7 +7,7 @@
/// <summary> /// <summary>
/// Root of the UI structure. Renders GUI and handles input events forwarding. /// Root of the UI structure. Renders GUI and handles input events forwarding.
/// </summary> /// </summary>
API_CLASS(Sealed, NoConstructor, Attributes = "ActorContextMenu(\"New/UI/UI Canvas\")") class FLAXENGINE_API UICanvas : public Actor API_CLASS(Sealed, NoConstructor, Attributes="ActorContextMenu(\"New/UI/UI Canvas\")") class FLAXENGINE_API UICanvas : public Actor
{ {
DECLARE_SCENE_OBJECT(UICanvas); DECLARE_SCENE_OBJECT(UICanvas);
public: public:

View File

@@ -8,7 +8,7 @@
/// <summary> /// <summary>
/// Contains a single GUI control (on C# side). /// Contains a single GUI control (on C# side).
/// </summary> /// </summary>
API_CLASS(Sealed, Attributes = "ActorContextMenu(\"New/UI/UI Control\")") class FLAXENGINE_API UIControl : public Actor API_CLASS(Sealed, Attributes="ActorContextMenu(\"New/UI/UI Control\")") class FLAXENGINE_API UIControl : public Actor
{ {
DECLARE_SCENE_OBJECT(UIControl); DECLARE_SCENE_OBJECT(UIControl);
private: private: