using System; using System.Collections.Generic; using UnityEngine; namespace REST_JSON_API { public static class MMTConstants { public static readonly string Point = "http://mathhub.info/MitM/core/geometry?3DGeometry?point"; public static readonly string LineType = "http://mathhub.info/MitM/core/geometry?Geometry/Common?line_type"; public static readonly string LineOf = "http://mathhub.info/MitM/core/geometry?Geometry/Common?lineOf"; public static readonly string OnLine = "http://mathhub.info/MitM/core/geometry?Geometry/Common?onLine"; public static readonly string Ded = "http://mathhub.info/MitM/Foundation?Logic?ded"; public static readonly string Eq = "http://mathhub.info/MitM/Foundation?Logic?eq"; public static readonly string Metric = "http://mathhub.info/MitM/core/geometry?Geometry/Common?metric"; public static readonly string Angle = "http://mathhub.info/MitM/core/geometry?Geometry/Common?angle_between"; public static readonly string Sketch = "http://mathhub.info/MitM/Foundation?InformalProofs?proofsketch"; public static readonly string RealLit = "http://mathhub.info/MitM/Foundation?RealLiterals?real_lit"; public static readonly string ParallelLine = "http://mathhub.info/MitM/core/geometry?Geometry/Common?parallelLine"; //public static readonly string RectangleFact = "http://mathhub.info/FrameIT/frameworld?FrameITRectangles?rectangleType"; //public static readonly string RectangleFactmk = "http://mathhub.info/FrameIT/frameworld?FrameITRectangles?mkRectangle"; public static readonly string CircleType3d = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circleType3D"; public static readonly string MkCircle3d = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circle3D"; public static readonly string TriangleMiddlePoint = "http://mathhub.info/FrameIT/frameworld?FrameITTriangles?triangleMidPointWrapper"; public static readonly string RadiusCircleMetric = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?circleRadius"; public static readonly string AreaCircle = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?areaCircle"; public static readonly string VolumeCone = "http://mathhub.info/FrameIT/frameworld?FrameITCone?volumeCone"; public static readonly string ConeOfCircleApex = "http://mathhub.info/FrameIT/frameworld?FrameITCone?circleConeOf"; public static readonly string ParametrizedPlane = "http://mathhub.info/MitM/core/geometry?Planes?ParametrizedPlane"; public static readonly string pointNormalPlane = "http://mathhub.info/MitM/core/geometry?Planes?pointNormalPlane"; public static readonly string OnCircle = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?pointOnCircle"; public static readonly string AnglePlaneLine = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?angleCircleLine"; public static readonly string OrthoCircleLine = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?orthogonalCircleLine"; public static readonly string TruncatedVolumeCone = "http://mathhub.info/FrameIT/frameworld?FrameITCone?truncatedConeVolume"; public static readonly string CylinderVolume = "http://mathhub.info/FrameIT/frameworld?FrameITCylinder?cylinderVolume"; public static readonly string EqualityCircles = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?equalityCircles"; public static readonly string UnEqualityCircles = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?unequalityCircles"; public static readonly string ParallelCircles = "http://mathhub.info/FrameIT/frameworld?FrameITCone?parallelCircles"; public static readonly string RightAngle = "http://mathhub.info/FrameIT/frameworld?FrameITBasics?rightAngle"; public static readonly string AttachedPositionFunction = "0SET_IN_MMTConstants!"; public static readonly string FunctionCallFact = "1SET_IN_MMTConstants!"; public static readonly string FunctionFact = "2SET_IN_MMTConstants!"; public static readonly string TestType = "http://mathhub.info/FrameIT/frameworld?FrameITCircle?xcircleType3D"; public static readonly string Product = "http://gl.mathhub.info/MMT/LFX/Sigma?Symbols?Product"; public static readonly string Tuple = "http://gl.mathhub.info/MMT/LFX/Sigma?Symbols?Tuple"; public static readonly string ListType = "http://gl.mathhub.info/MMT/LFX/Datatypes?ListSymbols?ListType"; public static readonly string ListApplicant = "http://gl.mathhub.info/MMT/LFX/Datatypes?ListSymbols?list"; public static readonly string ListLiteral = "http://gl.mathhub.info/MMT/LFX/Datatypes?ListSymbols?cons"; public static readonly string ListEnd = "http://gl.mathhub.info/MMT/LFX/Datatypes?ListSymbols?nil_constant"; public static readonly string Sin = "Sin"; public static readonly string Cos = "Cos"; public static readonly string Add = "Add"; public static readonly string Divide = "Divide"; public static readonly string Multiply = "Multiply"; public static readonly string Subtract = "Subtract"; public static readonly string SquareRoot = "SquareRoot"; //public static readonly string MakeUnityEngineVector3 = "UnityEngine.Vector3"; public static readonly string MakeObjectArray = "MakeObjectArray"; public const string ScrollOppositeLen = "http://mathhub.info/FrameIT/frameworld?OppositeLen"; public const string ScrollSupplementaryAngles = "http://mathhub.info/FrameIT/frameworld?SupplementaryAngles"; public const string ScrollAngleSum = "http://mathhub.info/FrameIT/frameworld?AngleSum"; public const string ScrollPythagoras = "http://mathhub.info/FrameIT/frameworld?Pythagoras"; public const string ScrollCylinderVolumeScroll = "http://mathhub.info/FrameIT/frameworld?CylinderVolumeScroll"; public const string ScrollCircleLineAngleToAngleScroll = "http://mathhub.info/FrameIT/frameworld?CircleLineAngleToAngleScroll"; public const string ScrollMidpoint = "http://mathhub.info/FrameIT/frameworld?Midpoint"; public const string ScrollCircleScroll = "http://mathhub.info/FrameIT/frameworld?CircleScroll"; public const string ScrollCircleLineAngleScroll = "http://mathhub.info/FrameIT/frameworld?CircleLineAngleScroll"; public const string ScrollCircleAreaScroll = "http://mathhub.info/FrameIT/frameworld?CircleAreaScroll"; public const string ScrollConeVolumeScroll = "http://mathhub.info/FrameIT/frameworld?ConeVolumeScroll"; public const string ScrollTruncatedConeVolumeScroll = "http://mathhub.info/FrameIT/frameworld?TruncatedConeVolumeScroll"; public const string ScrollCannonBall = "http://mathhub.info/FrameIT/frameworld?BouncingScroll"; public static readonly IReadOnlyDictionary<string, Type> OMS_TO_TYPE = new Dictionary<string, Type>() { { Point, typeof(PointFact) }, { Metric, typeof(LineFact) }, { Angle, typeof(AngleFact) }, { Eq, typeof(AngleFact) }, { RightAngle, typeof(RightAngleFact) }, { LineType, typeof(RayFact) }, { LineOf, typeof(RayFact) }, { OnLine, typeof(OnLineFact) }, { ParallelLine, typeof(ParallelLineFact) }, { CircleType3d, typeof(CircleFact) }, { OnCircle, typeof(OnCircleFact) }, { AnglePlaneLine, typeof(AngleCircleLineFact) }, { RadiusCircleMetric, typeof(RadiusFact) }, { AreaCircle, typeof(AreaCircleFact) }, { OrthoCircleLine, typeof(OrthogonalCircleLineFact) }, { VolumeCone, typeof(ConeVolumeFact) }, { TruncatedVolumeCone, typeof(TruncatedConeVolumeFact) }, { CylinderVolume, typeof(CylinderVolumeFact) }, { TestType, typeof(TestFact) }, { EqualityCircles, typeof(EqualCirclesFact) }, { UnEqualityCircles, typeof(UnEqualCirclesFact) }, { FunctionFact, typeof(FunctionFact) }, { FunctionCallFact, typeof(FunctionCallFact) }, { AttachedPositionFunction, typeof(AttachedPositionFunction) }, { RealLit, typeof(float) }, { Tuple, typeof(TupelFact) }, { ListType, typeof(List<>) }, { MkCircle3d, null }, //typeof(CircleFact) }, { ConeOfCircleApex, null }, //typeof(ConeVolumeFact) }, { Ded, null }, { Sketch, null }, { TriangleMiddlePoint, null }, { ParametrizedPlane, null }, { pointNormalPlane, null }, { ParallelCircles, null }, { "R", typeof(float) }, { typeof(float).ToString(), typeof(float) }, { typeof(double).ToString(), typeof(double) }, { typeof(string).ToString(), typeof(string) }, { typeof(Vector3).ToString(), typeof(Vector3) } }; public static readonly IReadOnlyDictionary<Type, string> TYPE_TO_OMS = OMS_TO_TYPE.ReverseKeyValInto(new() { // **Overrides** //{ typeof(Vector3), // Tuple }, }); public static readonly IReadOnlyDictionary<string, string> URI_TO_TypeOF = new Dictionary<string, string> { { MkCircle3d, CircleType3d }, }; public static readonly IReadOnlyDictionary<string, string> TypeOF_TO_URI = URI_TO_TypeOF.ReverseKeyVal(); public static readonly IReadOnlyDictionary<string, string> HeterogenApplication_TO_TypeOF = new Dictionary<string, string> { { Tuple, Product }, }; public static readonly IReadOnlyDictionary<string, string> TypeOF_TO_HeterogenApplication = HeterogenApplication_TO_TypeOF.ReverseKeyVal(); public static readonly IReadOnlyDictionary<string, string> HomogenApplication_TO_TypeOF = new Dictionary<string, string> { { ListApplicant, ListType }, }; public static readonly IReadOnlyDictionary<string, string> TypeOF_TO_HomogenApplication = HomogenApplication_TO_TypeOF.ReverseKeyVal(); } }