Skip to content

Commit

Permalink
Add spacecraft and AFC
Browse files Browse the repository at this point in the history
  • Loading branch information
Sophie Pichler authored and Sophie Pichler committed Feb 3, 2025
1 parent a6c4c3c commit c67fee3
Show file tree
Hide file tree
Showing 5 changed files with 3,571 additions and 12 deletions.
9 changes: 9 additions & 0 deletions src/ModelViewer/ModelViewer.fsproj.user
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup>
<ActiveDebugProfile>Hera Spacecraft</ActiveDebugProfile>
</PropertyGroup>
</Project>
24 changes: 12 additions & 12 deletions src/ModelViewer/Program.fs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ open Example.GLTF
[<EntryPoint>]
let main args =

(*
Models under resources can be referenced:
1) ..//..//..//resources//m2020-urdf-models//rover//meshes : perseverance rover
2) ..//..//..//resources//Spacecraft//gltf : hera spacecraft
3) ..//..//..//resources//Spacecraft//gltf//AFC : AFC Camera
*)
let relativePath = args[0]

let emptyScene =
let mutable materials = Map.empty
let mutable geometries = Map.empty
Expand All @@ -28,13 +36,9 @@ let main args =
Directory.GetFiles(folderPath, $"*.{fileExtension}")
|> Array.map Path.GetFullPath

let roverFolderPath = @"..\..\..\resources\m2020-urdf-models\rover\meshes"
let roverFileExtension = "gltf"

let roverFiles = getFileNamesWithExtension roverFolderPath roverFileExtension
let roverFiles = getFileNamesWithExtension relativePath "gltf"

let roverModel = roverFiles |> Array.map(fun path -> match GLTF.tryLoad path with | Some scene -> scene | None -> emptyScene)
let models = clist roverModel
let models = clist (roverFiles |> Array.map(fun path -> match GLTF.tryLoad path with | Some scene -> scene | None -> emptyScene))

Aardvark.Init()

Expand Down Expand Up @@ -76,12 +80,8 @@ let main args =
Trafo3d.Scale(5.0 / bb.Size.NormMax)
)

let rotateRoverTrafo = if (relativePath.Contains("m2020-urdf-models")) then Trafo3d.RotationX(1.57) else Trafo3d.RotationX(0)

let rotateRoverTrafo =
models |> AList.toAVal |> AVal.map (fun models ->
let bb = models |> Seq.map (fun m -> m.BoundingBox) |> Box3d
Trafo3d.RotationX(1.57)
)

let renderTask =
Sg.ofList [
Expand All @@ -90,7 +90,7 @@ let main args =
|> AVal.map (fun scenes -> SceneSg.toSimpleSg win.Runtime scenes)
|> Sg.dynamic
|> Sg.trafo centerTrafo1
|> Sg.trafo rotateRoverTrafo
|> Sg.trafo' rotateRoverTrafo
|> Sg.trafo' (Trafo3d.RotationX Constant.PiHalf)

]
Expand Down
20 changes: 20 additions & 0 deletions src/ModelViewer/Properties/launchSettings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"profiles": {
"ModelViewer": {
"commandName": "Project",
"commandLineArgs": "..//..//..//resources//m2020-urdf-models//rover//meshes"
},
"AFC Camera": {
"commandName": "Project",
"commandLineArgs": "..//..//..//resources//Spacecraft//gltf//AFC"
},
"Hera Spacecraft": {
"commandName": "Project",
"commandLineArgs": "..//..//..//resources//Spacecraft//gltf"
},
"Perserverance Rover": {
"commandName": "Project",
"commandLineArgs": "..//..//..//resources//m2020-urdf-models//rover//meshes"
}
}
}
3,433 changes: 3,433 additions & 0 deletions src/ModelViewer/resources/Spacecraft/gltf/AFC/hera_sc_afc_v01.bin

Large diffs are not rendered by default.

97 changes: 97 additions & 0 deletions src/ModelViewer/resources/Spacecraft/gltf/AFC/hera_sc_afc_v01.gltf
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"asset" : {
"generator" : "Khronos glTF Blender I/O v3.3.32",
"version" : "2.0"
},
"scene" : 0,
"scenes" : [
{
"name" : "Scene",
"nodes" : [
0
]
}
],
"nodes" : [
{
"mesh" : 0,
"name" : "AFC1_hera_satellite_assy_08_outer_shape_20220225.001",
"rotation" : [
0.7071068286895752,
0,
0,
0.7071067094802856
]
}
],
"meshes" : [
{
"name" : "AFC1_hera_satellite_assy_08_outer_shape_20220225.002",
"primitives" : [
{
"attributes" : {
"POSITION" : 0,
"NORMAL" : 1
},
"indices" : 2
}
]
}
],
"accessors" : [
{
"bufferView" : 0,
"componentType" : 5126,
"count" : 44503,
"max" : [
0.07268299907445908,
0.07302699983119965,
0.16152900457382202
],
"min" : [
-0.07327800244092941,
-0.07293400168418884,
-0.10402099788188934
],
"type" : "VEC3"
},
{
"bufferView" : 1,
"componentType" : 5126,
"count" : 44503,
"type" : "VEC3"
},
{
"bufferView" : 2,
"componentType" : 5123,
"count" : 49386,
"type" : "SCALAR"
}
],
"bufferViews" : [
{
"buffer" : 0,
"byteLength" : 534036,
"byteOffset" : 0,
"target" : 34962
},
{
"buffer" : 0,
"byteLength" : 534036,
"byteOffset" : 534036,
"target" : 34962
},
{
"buffer" : 0,
"byteLength" : 98772,
"byteOffset" : 1068072,
"target" : 34963
}
],
"buffers" : [
{
"byteLength" : 1166844,
"uri" : "hera_sc_afc_v01.bin"
}
]
}

0 comments on commit c67fee3

Please sign in to comment.