<commit_before>﻿using Nucleus.Base;
using Nucleus.Geometry;
using Nucleus.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Nucleus.Physics
{
    /// <summary>
    /// A data component that stores information necessary to simulate a particle subject to physical
    /// conditions
    /// </summary>
    public class ParticleComponent : INodeDataComponent
    {
        #region Properties

        /// <summary>
        /// The current, displaced, position of the node
        /// </summary>
        public Vector Position { get; set; }

        /// <summary>
        /// The current velocity of the node
        /// </summary>
        public Vector Velocity { get; set; }
        //TODO

        #endregion

        #region Constructors

        /// <summary>
        /// Initialise a new ParticleComponent at the position of
        /// the specified node
        /// </summary>
        /// <param name="node"></param>
        public ParticleComponent(Node node)
        {
            Position = node.Position;
        }

        #endregion

        #region Methods

        public void Merge(INodeDataComponent other)
        {
            //TODO?
        }

        #endregion
    }
}<commit_msg>Physics particle modifications<commit_after>﻿using Nucleus.Base;
using Nucleus.Geometry;
using Nucleus.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Nucleus.Physics
{
    /// <summary>
    /// A data component that stores information necessary to simulate a particle subject to physical
    /// conditions
    /// </summary>
    public class ParticleComponent : INodeDataComponent
    {
        #region Properties

        /// <summary>
        /// The node to which this particle is attached
        /// </summary>
        public Node Node { get; set; }

        /// <summary>
        /// The current, displaced, position of the node
        /// </summary>
        public Vector Position { get; set; }

        /// <summary>
        /// The current velocity of the node
        /// </summary>
        public Vector Velocity { get; set; }

        /// <summary>
        /// The mass of the node
        /// </summary>
        public double Mass { get; set; } = 0;

        #endregion

        #region Constructors

        /// <summary>
        /// Initialise a new ParticleComponent at the position of
        /// the specified node
        /// </summary>
        /// <param name="node"></param>
        public ParticleComponent(Node node)
        {
            Node = node;
            Position = node.Position;
        }

        #endregion

        #region Methods

        public void Merge(INodeDataComponent other)
        {
            //TODO?
        }

        #endregion
    }
}
{'fraction_non_alphanumeric': 0.10555749737853898, 'fraction_numerical': 0.0003495281370150297, 'mean_word_length': 1.7, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '403346', 'n_tokens_mistral': 750, 'n_tokens_neox': 715, 'n_words': 233}