daily update on 20230415 by nitload youmu

This commit is contained in:
Nitload
2023-04-15 04:03:14 +08:00
parent 0995a1c501
commit a305aab094
84 changed files with 357 additions and 139 deletions
Binary file not shown.
Binary file not shown.
+30
View File
@@ -0,0 +1,30 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32825.248
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Asm", "Asm.vcxproj", "{396B053C-CE3C-40A1-AC57-F25F0EEDE910}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{396B053C-CE3C-40A1-AC57-F25F0EEDE910}.Debug|x64.ActiveCfg = Debug|x64
{396B053C-CE3C-40A1-AC57-F25F0EEDE910}.Debug|x86.ActiveCfg = Debug|Win32
{396B053C-CE3C-40A1-AC57-F25F0EEDE910}.Debug|x86.Build.0 = Debug|Win32
{396B053C-CE3C-40A1-AC57-F25F0EEDE910}.Release|x64.ActiveCfg = Release|x64
{396B053C-CE3C-40A1-AC57-F25F0EEDE910}.Release|x64.Build.0 = Release|x64
{396B053C-CE3C-40A1-AC57-F25F0EEDE910}.Release|x86.ActiveCfg = Release|Win32
{396B053C-CE3C-40A1-AC57-F25F0EEDE910}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {74D9C0A1-8196-4FFA-BCF9-EBC39FA657DB}
EndGlobalSection
EndGlobal
@@ -21,8 +21,8 @@
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{ccb13811-6071-41c7-89a1-8b38fb5e4f88}</ProjectGuid>
<RootNamespace>AsmMath</RootNamespace>
<ProjectGuid>{396b053c-ce3c-40a1-ac57-f25f0eede910}</ProjectGuid>
<RootNamespace>Asm</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
@@ -129,7 +129,7 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<None Include="Sqrt0001.asm" />
<MASM Include="源.asm" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
@@ -15,8 +15,8 @@
</Filter>
</ItemGroup>
<ItemGroup>
<None Include="Sqrt0001.asm">
<MASM Include="源.asm">
<Filter>源文件</Filter>
</None>
</MASM>
</ItemGroup>
</Project>
Binary file not shown.
Binary file not shown.
-31
View File
@@ -1,31 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.3.32825.248
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AsmMath", "AsmMath\AsmMath.vcxproj", "{CCB13811-6071-41C7-89A1-8B38FB5E4F88}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Debug|x64.ActiveCfg = Debug|x64
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Debug|x64.Build.0 = Debug|x64
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Debug|x86.ActiveCfg = Debug|Win32
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Debug|x86.Build.0 = Debug|Win32
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Release|x64.ActiveCfg = Release|x64
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Release|x64.Build.0 = Release|x64
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Release|x86.ActiveCfg = Release|Win32
{CCB13811-6071-41C7-89A1-8B38FB5E4F88}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8B0B3302-27E0-48A7-B209-463812E1A51A}
EndGlobalSection
EndGlobal
-69
View File
@@ -1,69 +0,0 @@
; Attributes: bp-based frame fpd=1A0h
; int main(...)
main proc near
frame= byte ptr -1C0h
var_1A0= byte ptr -1A0h
var_19C= dword ptr -19Ch
var_178= dword ptr -178h
var_148= qword ptr -148h
var_120= xmmword ptr -120h
var_F0= xmmword ptr -0F0h
var_18= qword ptr -18h
; __unwind { // j___GSHandlerCheck
push rbp
push rdi
sub rsp, 1B8h
lea rbp, [rsp+20h]
__$EncStackInitStart:
lea rdi, [rsp+1C0h+var_1A0]
mov ecx, 36h ; '6'
mov eax, 0CCCCCCCCh
rep stosd
__$EncStackInitEnd:
mov rax, cs:__security_cookie
xor rax, rbp
mov [rbp+1A0h+var_18], rax
lea rcx, __41B3B322_AsmSqrt@c ; JMC_flag
call j___CheckForDebuggerJustMyCode
movss xmm0, cs:__real@40800000
movss [rbp+1A0h+var_19C], xmm0
lea rax, [rbp+1A0h+var_19C]
mov [rbp+1A0h+var_148], rax
mov rax, [rbp+1A0h+var_148]
movss xmm0, dword ptr [rax]
xorps xmm1, xmm1
movss xmm1, xmm0
movaps xmm0, xmm1
movaps [rbp+1A0h+var_120], xmm0
movaps xmm0, [rbp+1A0h+var_120]
sqrtss xmm0, xmm0
movaps [rbp+1A0h+var_F0], xmm0
movaps xmm0, [rbp+1A0h+var_F0]
movss [rbp+1A0h+var_178], xmm0
mov eax, 4
imul rax, 0
cvtss2sd xmm0, [rbp+rax+1A0h+var_178]
movaps xmm1, xmm0
movq rdx, xmm1
lea rcx, _Format ; "%f"
call j_printf
xor eax, eax
mov edi, eax
lea rcx, [rbp+1A0h+frame] ; frame
lea rdx, v ; v
call j__RTC_CheckStackVars
mov eax, edi
mov rcx, [rbp+1A0h+var_18]
xor rcx, rbp ; StackCookie
call j___security_check_cookie
lea rsp, [rbp+198h]
pop rdi
pop rbp
retn
; } // starts at 140011870
main endp
@@ -1 +0,0 @@

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -2,7 +2,7 @@
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\Math\Asm\AsmMath\x64\Debug\AsmMath.exe</FullPath>
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\Math\Asm\x64\Debug\Asm.exe</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
Assembling 源.asm...
Asm.vcxproj -> D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\Math\Asm\x64\Debug\Asm.exe
Binary file not shown.
@@ -1,2 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.33.31629:TargetPlatformVersion=10.0.19041.0:
Debug|x64|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\Math\Asm\AsmMath\|
Debug|x64|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\Math\Asm\|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\Math\Asm\x64\Debug\Asm.exe
Binary file not shown.
+9
View File
@@ -0,0 +1,9 @@
.code;代码段
main proc;a函数开始
mov rax,120
add rax,34
sub rax,130
;movhpd xmm0,12
ret
main endp;a函数结束
end
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-10
View File
@@ -5,8 +5,6 @@ VisualStudioVersion = 17.3.32825.248
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project1", "Project1\Project1.vcxproj", "{9C0FD617-CD38-48B5-A16C-909FBA56BBF5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Project2", "Project2\Project2.vcxproj", "{3575C925-9280-4453-8D67-2BFD4E76A1D8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -23,14 +21,6 @@ Global
{9C0FD617-CD38-48B5-A16C-909FBA56BBF5}.Release|x64.Build.0 = Release|x64
{9C0FD617-CD38-48B5-A16C-909FBA56BBF5}.Release|x86.ActiveCfg = Release|Win32
{9C0FD617-CD38-48B5-A16C-909FBA56BBF5}.Release|x86.Build.0 = Release|Win32
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Debug|x64.ActiveCfg = Debug|x64
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Debug|x64.Build.0 = Debug|x64
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Debug|x86.ActiveCfg = Debug|Win32
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Debug|x86.Build.0 = Debug|Win32
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Release|x64.ActiveCfg = Release|x64
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Release|x64.Build.0 = Release|x64
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Release|x86.ActiveCfg = Release|Win32
{3575C925-9280-4453-8D67-2BFD4E76A1D8}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
+1 -1
View File
@@ -16,7 +16,7 @@ void main()
/**/
float a = 4.0f;
float a = 400.0f;
float r[4];
float* pa = &a;
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+135
View File
@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{02c53460-3601-4cf3-8fee-6bc3ab70415a}</ProjectGuid>
<RootNamespace>CToAsm</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="源.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="源.c">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
</Project>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>
+32
View File
@@ -0,0 +1,32 @@
#include <xmmintrin.h>
#include <immintrin.h>
#include <intrin.h>
#include <stdio.h>
void main()
{
/*
float z = 4.00f;
float* a = &z;
float b = sseSqrt(z);
printf("%f", b);
/**/
float a = 400.0f;
float r[4];
float* pa = &a;
__m128 b;
__m128 c;
b = _mm_load_ss(pa);
c = _mm_sqrt_ss(b);
_mm_store_ss(r, c);
printf("%f", r[0]);
/**/
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace StgSharp.Geometries
{
public static unsafe class GeometryCalc
{
}
}
@@ -6,6 +6,10 @@ using System.Text;
namespace StgSharp.Geometries
{
public delegate vec2d GetLocationHandler(vec2d vec, Counter<uint> tickCounter);
/// <summary>
/// 计算位移失量,需要手动输入游戏刻以提供时间数据
/// </summary>
/// <param name="tickCounter"></param>
/// <returns>表示位移量的三维矢量</returns>
public delegate vec3d GetLocationHandler(Counter<uint> tickCounter);
}
+3 -2
View File
@@ -1,5 +1,4 @@
using StgSharp;
using StgSharp.Math;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Text;
@@ -26,6 +25,8 @@ namespace StgSharp.Geometries
bornTick = MainTimer.Value;
}
public IGeometry() { }
internal abstract void CalcVec01(uint tick);
internal abstract void CalcVec02(vec3d vec, uint tick);
internal abstract void CalcVec03(vec3d vec, uint tick);
+20 -7
View File
@@ -1,5 +1,6 @@
using Steamworks;
using StgSharp;
using StgSharp.Control;
using StgSharp.Math;
using System;
using System.Collections.Generic;
@@ -9,11 +10,11 @@ namespace StgSharp.Geometries
{
public class Line:IGeometry
{
internal Point _basePoint;
internal Point _beginPoint;
internal Point _endPoint;
internal GetLocationHandler _beginPointMov;
internal GetLocationHandler _endPointMov;
internal Point _basePoint = default ;
internal Point _beginPoint = default ;
internal Point _endPoint = default;
internal GetLocationHandler movBegin;
internal GetLocationHandler movEnd;
internal RenderMode _renderMode;
internal readonly uint bornTick;
@@ -35,6 +36,14 @@ namespace StgSharp.Geometries
bornTick = tickCounter._value;
}
public Line(Point begin, Point end)
{
this._beginPoint = begin;
this._endPoint = end;
}
public Line() { }
public override float SetArrayX()
{
throw new NotImplementedException();
@@ -60,9 +69,13 @@ namespace StgSharp.Geometries
throw new ArgumentException("Lines do not need the third parameter to define!");
}
public virtual vec3d MoveBeginPoint(uint tick) => default;
//计算线起点的方法,通过对线的派生的重写实现功能
public virtual vec3d MoveBeginPoint(uint tick)
=> movBegin.Invoke( GameTimeLine.tickCounter);
public virtual vec3d MoveEndPoint(uint tick) => default;
//计算线重点的方法,通过对线的派生的重写实现功能
public virtual vec3d MoveEndPoint(uint tick)
=> movEnd.Invoke( GameTimeLine.tickCounter);
internal override void OnRender(uint tick)
{
+57 -8
View File
@@ -1,4 +1,5 @@
using StgSharp.Math;
using StgSharp.Control;
using StgSharp.Math;
using System;
using System.Collections.Generic;
using System.Text;
@@ -9,17 +10,17 @@ namespace StgSharp.Geometries
{
internal Point _basePoint;
internal Point _center;
internal Point _centerToCorner1;
internal Point _centerToCorner2;
internal Point _corner1;
internal Point _corner2;
internal RenderMode _renderMode;
internal readonly uint bornTick;
public override sealed Point BasePoint => _basePoint;
public override sealed Point RefPoint => _center;
public override sealed Point RefVec01 => _centerToCorner1;
public override sealed Point RefVec01 => _corner1;
public override sealed Point RefVec02 => _centerToCorner2;
public override sealed Point RefVec02 => _corner2;
public override RenderMode renderMode => _renderMode;
@@ -62,19 +63,22 @@ namespace StgSharp.Geometries
throw new NotImplementedException();
}
//计算参考中心点的位移
internal override void CalcVec01(uint tick)
{
_center._position = _basePoint._position + MovCenter(tick);
}
//计算第一个顶点的位移,存在相对中心位移和相对参考原点位移两种模式
internal override void CalcVec02(vec3d vec, uint tick)
{
_centerToCorner1._position = vec + UpdateCTC1(tick);
_corner1._position = vec + UpdateCTC1(tick);
}
//计算第二个顶点的位移,存在相对中心位移和相对参考原点位移两种模式
internal override void CalcVec03(vec3d vec, uint tick)
{
_centerToCorner2._position = vec + UpdateCTC2(tick);
_corner2._position = vec + UpdateCTC2(tick);
}
public virtual vec3d MovCenter(uint tick) => default(vec3d);
@@ -85,7 +89,52 @@ namespace StgSharp.Geometries
public override Line[] GetAllSides()
{
throw new NotImplementedException();
Line[] lines = new Line[4]
{
new Line(GameTimeLine.tickCounter),
new Line(GameTimeLine.tickCounter),
new Line(GameTimeLine.tickCounter),
new Line(GameTimeLine.tickCounter),
};
lines[0]._basePoint = this._corner1;
lines[0]._beginPoint = this._corner1;
lines[0]._endPoint = this._corner2;
lines[1]._basePoint = this._corner2;
lines[1]._beginPoint = this._corner2;
lines[1]._endPoint = new Point() { _position = getCorner3(GameTimeLine.tickCounter)};
lines[1].movEnd += this.getCorner3;
lines[2]._basePoint = lines[1]._endPoint;
lines[2]._beginPoint = lines[2]._basePoint;
lines[2]._endPoint = new Point() { _position = this.getCorner4(GameTimeLine.tickCounter) };
lines[2].movEnd+= this.getCorner4;
lines[3]._beginPoint = lines[2]._endPoint;
lines[3]._endPoint = this._corner1;
return lines;
}
protected vec3d getCorner1(Counter<uint> tick)
{
return this._corner1._position;
}
protected vec3d getCorner2(Counter<uint> tick)
{
return this._corner2._position;
}
protected vec3d getCorner3(Counter<uint> tick)
{
return 2 * this._center._position - this._corner1._position;
}
protected vec3d getCorner4(Counter<uint> tick)
{
return 2 * this._center._position - this._corner2._position;
}
}
}
+6
View File
@@ -26,5 +26,11 @@ namespace StgSharp.Geometries
public void Update() => new NotImplementedException();
public static void CoordsAdd(Point p1, Point p2)
{
}
}
}
+9
View File
@@ -112,6 +112,15 @@ namespace StgSharp.Math
);
}
public static vec3d operator *( float x, vec3d vec)
{
return new vec3d(
vec.X * x,
vec.Y * x,
vec.Z * x
);
}
public static vec3d operator /(vec3d vec, float x)
{
return new vec3d(
@@ -1 +1 @@
96b7e2fc11bda4a0584ab313be1a6838a308d265
314715e00ade86f2a7cd4e4d57040d6f16689d86
+2
View File
@@ -1,4 +1,5 @@
using StgSharp;
using StgSharp.Geometries;
using StgSharp.Math;
using System;
using System.Diagnostics;
@@ -38,6 +39,7 @@ internal class Program
}
*/
}
public class MyNum : INode<MyNum>