diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim.Physics/PhysXPlugin/AssemblyInfo.cs (renamed from src/physics/RealPhysX/RealPhysXplugin/AssemblyInfo.cs) | 0 | ||||
-rw-r--r-- | OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.csproj | 93 | ||||
-rw-r--r-- | OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.dll.build | 43 | ||||
-rw-r--r-- | OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs (renamed from src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs) | 69 |
4 files changed, 201 insertions, 4 deletions
diff --git a/src/physics/RealPhysX/RealPhysXplugin/AssemblyInfo.cs b/OpenSim.Physics/PhysXPlugin/AssemblyInfo.cs index 913aae7..913aae7 100644 --- a/src/physics/RealPhysX/RealPhysXplugin/AssemblyInfo.cs +++ b/OpenSim.Physics/PhysXPlugin/AssemblyInfo.cs | |||
diff --git a/OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.csproj b/OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.csproj new file mode 100644 index 0000000..e1e8eea --- /dev/null +++ b/OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.csproj | |||
@@ -0,0 +1,93 @@ | |||
1 | <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
2 | <PropertyGroup> | ||
3 | <ProjectType>Local</ProjectType> | ||
4 | <ProductVersion>8.0.50727</ProductVersion> | ||
5 | <SchemaVersion>2.0</SchemaVersion> | ||
6 | <ProjectGuid>{CBE1E31D-D7E3-4791-A616-F00173BBC26A}</ProjectGuid> | ||
7 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
8 | <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> | ||
9 | <ApplicationIcon></ApplicationIcon> | ||
10 | <AssemblyKeyContainerName> | ||
11 | </AssemblyKeyContainerName> | ||
12 | <AssemblyName>OpenSim.Physics.PhysXPlugin</AssemblyName> | ||
13 | <DefaultClientScript>JScript</DefaultClientScript> | ||
14 | <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> | ||
15 | <DefaultTargetSchema>IE50</DefaultTargetSchema> | ||
16 | <DelaySign>false</DelaySign> | ||
17 | <OutputType>Library</OutputType> | ||
18 | <AppDesignerFolder></AppDesignerFolder> | ||
19 | <RootNamespace>OpenSim.Physics.PhysXPlugin</RootNamespace> | ||
20 | <StartupObject></StartupObject> | ||
21 | <FileUpgradeFlags> | ||
22 | </FileUpgradeFlags> | ||
23 | </PropertyGroup> | ||
24 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> | ||
25 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> | ||
26 | <BaseAddress>285212672</BaseAddress> | ||
27 | <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> | ||
28 | <ConfigurationOverrideFile> | ||
29 | </ConfigurationOverrideFile> | ||
30 | <DefineConstants>TRACE;DEBUG</DefineConstants> | ||
31 | <DocumentationFile></DocumentationFile> | ||
32 | <DebugSymbols>True</DebugSymbols> | ||
33 | <FileAlignment>4096</FileAlignment> | ||
34 | <Optimize>False</Optimize> | ||
35 | <OutputPath>..\..\bin\Physics\</OutputPath> | ||
36 | <RegisterForComInterop>False</RegisterForComInterop> | ||
37 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | ||
38 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | ||
39 | <WarningLevel>4</WarningLevel> | ||
40 | <NoWarn></NoWarn> | ||
41 | </PropertyGroup> | ||
42 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> | ||
43 | <AllowUnsafeBlocks>False</AllowUnsafeBlocks> | ||
44 | <BaseAddress>285212672</BaseAddress> | ||
45 | <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow> | ||
46 | <ConfigurationOverrideFile> | ||
47 | </ConfigurationOverrideFile> | ||
48 | <DefineConstants>TRACE</DefineConstants> | ||
49 | <DocumentationFile></DocumentationFile> | ||
50 | <DebugSymbols>False</DebugSymbols> | ||
51 | <FileAlignment>4096</FileAlignment> | ||
52 | <Optimize>True</Optimize> | ||
53 | <OutputPath>..\..\bin\Physics\</OutputPath> | ||
54 | <RegisterForComInterop>False</RegisterForComInterop> | ||
55 | <RemoveIntegerChecks>False</RemoveIntegerChecks> | ||
56 | <TreatWarningsAsErrors>False</TreatWarningsAsErrors> | ||
57 | <WarningLevel>4</WarningLevel> | ||
58 | <NoWarn></NoWarn> | ||
59 | </PropertyGroup> | ||
60 | <ItemGroup> | ||
61 | <Reference Include="System" > | ||
62 | <HintPath>\System.dll</HintPath> | ||
63 | </Reference> | ||
64 | <Reference Include="Axiom.MathLib.dll" > | ||
65 | <HintPath>\Axiom.MathLib.dll.dll</HintPath> | ||
66 | </Reference> | ||
67 | <Reference Include="PhysX_Wrapper_Dotnet.dll" > | ||
68 | <HintPath>\PhysX_Wrapper_Dotnet.dll.dll</HintPath> | ||
69 | </Reference> | ||
70 | </ItemGroup> | ||
71 | <ItemGroup> | ||
72 | <ProjectReference Include="..\Manager\OpenSim.Physics.Manager.csproj"> | ||
73 | <Name>OpenSim.Physics.Manager</Name> | ||
74 | <Project>{58360A80-9333-4E0F-8F83-3CF937E51633}</Project> | ||
75 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | ||
76 | </ProjectReference> | ||
77 | </ItemGroup> | ||
78 | <ItemGroup> | ||
79 | <Compile Include="AssemblyInfo.cs"> | ||
80 | <SubType>Code</SubType> | ||
81 | </Compile> | ||
82 | <Compile Include="PhysXPlugin.cs"> | ||
83 | <SubType>Code</SubType> | ||
84 | </Compile> | ||
85 | </ItemGroup> | ||
86 | <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> | ||
87 | <PropertyGroup> | ||
88 | <PreBuildEvent> | ||
89 | </PreBuildEvent> | ||
90 | <PostBuildEvent> | ||
91 | </PostBuildEvent> | ||
92 | </PropertyGroup> | ||
93 | </Project> | ||
diff --git a/OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.dll.build b/OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.dll.build new file mode 100644 index 0000000..8f9e7dc --- /dev/null +++ b/OpenSim.Physics/PhysXPlugin/OpenSim.Physics.PhysXPlugin.dll.build | |||
@@ -0,0 +1,43 @@ | |||
1 | <?xml version="1.0" ?> | ||
2 | <project name="OpenSim.Physics.PhysXPlugin" default="build"> | ||
3 | <target name="build"> | ||
4 | <echo message="Build Directory is ${project::get-base-directory()}/${build.dir}" /> | ||
5 | <mkdir dir="${project::get-base-directory()}/${build.dir}" /> | ||
6 | <copy todir="${project::get-base-directory()}/${build.dir}"> | ||
7 | <fileset basedir="${project::get-base-directory()}"> | ||
8 | </fileset> | ||
9 | </copy> | ||
10 | <csc target="library" debug="${build.debug}" unsafe="False" define="TRACE;DEBUG" output="${project::get-base-directory()}/${build.dir}/${project::get-name()}.dll"> | ||
11 | <resources prefix="OpenSim.Physics.PhysXPlugin" dynamicprefix="true" > | ||
12 | </resources> | ||
13 | <sources failonempty="true"> | ||
14 | <include name="AssemblyInfo.cs" /> | ||
15 | <include name="PhysXPlugin.cs" /> | ||
16 | </sources> | ||
17 | <references basedir="${project::get-base-directory()}"> | ||
18 | <lib> | ||
19 | <include name="${project::get-base-directory()}" /> | ||
20 | <include name="${project::get-base-directory()}/${build.dir}" /> | ||
21 | </lib> | ||
22 | <include name="System.dll" /> | ||
23 | <include name="../../bin/Axiom.MathLib.dll" /> | ||
24 | <include name="../../bin/PhysX_Wrapper_Dotnet.dll" /> | ||
25 | <include name="../Manager/${build.dir}/OpenSim.Physics.Manager.dll" /> | ||
26 | </references> | ||
27 | </csc> | ||
28 | <echo message="Copying from [${project::get-base-directory()}/${build.dir}/] to [${project::get-base-directory()}/../../bin/Physics/" /> | ||
29 | <mkdir dir="${project::get-base-directory()}/../../bin/Physics/"/> | ||
30 | <copy todir="${project::get-base-directory()}/../../bin/Physics/"> | ||
31 | <fileset basedir="${project::get-base-directory()}/${build.dir}/" > | ||
32 | <include name="*.dll"/> | ||
33 | <include name="*.exe"/> | ||
34 | </fileset> | ||
35 | </copy> | ||
36 | </target> | ||
37 | <target name="clean"> | ||
38 | <delete dir="${bin.dir}" failonerror="false" /> | ||
39 | <delete dir="${obj.dir}" failonerror="false" /> | ||
40 | </target> | ||
41 | <target name="doc" description="Creates documentation."> | ||
42 | </target> | ||
43 | </project> | ||
diff --git a/src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs b/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs index 9576a40..043c2f1 100644 --- a/src/physics/RealPhysX/RealPhysXplugin/RealPhysX.cs +++ b/OpenSim.Physics/PhysXPlugin/PhysXPlugin.cs | |||
@@ -52,10 +52,10 @@ | |||
52 | */ | 52 | */ |
53 | using System; | 53 | using System; |
54 | using System.Collections.Generic; | 54 | using System.Collections.Generic; |
55 | using PhysicsSystem; | 55 | using OpenSim.Physics.Manager; |
56 | using PhysXWrapper; | 56 | using PhysXWrapper; |
57 | 57 | ||
58 | namespace PhysXplugin | 58 | namespace OpenSim.Physics.PhysXPlugin |
59 | { | 59 | { |
60 | /// <summary> | 60 | /// <summary> |
61 | /// Will be the PhysX plugin but for now will be a very basic physics engine | 61 | /// Will be the PhysX plugin but for now will be a very basic physics engine |
@@ -105,6 +105,7 @@ namespace PhysXplugin | |||
105 | public PhysXScene() | 105 | public PhysXScene() |
106 | { | 106 | { |
107 | mySdk = NxPhysicsSDK.CreateSDK(); | 107 | mySdk = NxPhysicsSDK.CreateSDK(); |
108 | Console.WriteLine("Sdk created - now creating scene"); | ||
108 | scene = mySdk.CreateScene(); | 109 | scene = mySdk.CreateScene(); |
109 | 110 | ||
110 | } | 111 | } |
@@ -179,6 +180,7 @@ namespace PhysXplugin | |||
179 | private PhysicsVector _acceleration; | 180 | private PhysicsVector _acceleration; |
180 | private NxCharacter _character; | 181 | private NxCharacter _character; |
181 | private bool flying; | 182 | private bool flying; |
183 | private float gravityAccel; | ||
182 | 184 | ||
183 | public PhysXCharacter(NxCharacter character) | 185 | public PhysXCharacter(NxCharacter character) |
184 | { | 186 | { |
@@ -224,6 +226,30 @@ namespace PhysXplugin | |||
224 | } | 226 | } |
225 | } | 227 | } |
226 | 228 | ||
229 | public override bool Kinematic | ||
230 | { | ||
231 | get | ||
232 | { | ||
233 | return false; | ||
234 | } | ||
235 | set | ||
236 | { | ||
237 | |||
238 | } | ||
239 | } | ||
240 | |||
241 | public override Axiom.MathLib.Quaternion Orientation | ||
242 | { | ||
243 | get | ||
244 | { | ||
245 | return Axiom.MathLib.Quaternion.Identity; | ||
246 | } | ||
247 | set | ||
248 | { | ||
249 | |||
250 | } | ||
251 | } | ||
252 | |||
227 | public override PhysicsVector Acceleration | 253 | public override PhysicsVector Acceleration |
228 | { | 254 | { |
229 | get | 255 | get |
@@ -258,9 +284,14 @@ namespace PhysXplugin | |||
258 | } | 284 | } |
259 | else | 285 | else |
260 | { | 286 | { |
261 | vec.Z = (-9.8f + this._velocity.Z) * timeStep; | 287 | gravityAccel+= -9.8f; |
288 | vec.Z = (gravityAccel + this._velocity.Z) * timeStep; | ||
289 | } | ||
290 | int res = this._character.Move(vec); | ||
291 | if(res == 1) | ||
292 | { | ||
293 | gravityAccel = 0; | ||
262 | } | 294 | } |
263 | this._character.Move(vec); | ||
264 | } | 295 | } |
265 | 296 | ||
266 | public void UpdatePosition() | 297 | public void UpdatePosition() |
@@ -332,6 +363,36 @@ namespace PhysXplugin | |||
332 | } | 363 | } |
333 | } | 364 | } |
334 | 365 | ||
366 | public override bool Kinematic | ||
367 | { | ||
368 | get | ||
369 | { | ||
370 | return this._prim.Kinematic; | ||
371 | } | ||
372 | set | ||
373 | { | ||
374 | this._prim.Kinematic = value; | ||
375 | } | ||
376 | } | ||
377 | |||
378 | public override Axiom.MathLib.Quaternion Orientation | ||
379 | { | ||
380 | get | ||
381 | { | ||
382 | Axiom.MathLib.Quaternion res = new Axiom.MathLib.Quaternion(); | ||
383 | PhysXWrapper.Quaternion quat = this._prim.GetOrientation(); | ||
384 | res.w = quat.W; | ||
385 | res.x = quat.X; | ||
386 | res.y = quat.Y; | ||
387 | res.z = quat.Z; | ||
388 | return res; | ||
389 | } | ||
390 | set | ||
391 | { | ||
392 | |||
393 | } | ||
394 | } | ||
395 | |||
335 | public override PhysicsVector Acceleration | 396 | public override PhysicsVector Acceleration |
336 | { | 397 | { |
337 | get | 398 | get |