Skip to content
Snippets Groups Projects
Commit a7500c1a authored by Matthias Bodenbenner's avatar Matthias Bodenbenner
Browse files

added OptiTrack model to demo models

parent e63c402e
No related branches found
No related tags found
No related merge requests found
Pipeline #528316 failed
@prefix schema: <http://schema.org/> ;
@prefix dbo: <http://dbpedia.org/ontology/> ;
import utils;
variable CameraName defines <schema:name> {
name: "Name"
description: "Name of the camera"
datatype: string
dimension: []
}
component Camera defines <dbo:Camera> {
name: "Camera"
description: "Connected Camera"
parameters:
CameraName name
measurements:
internal utils.Position position
internal utils.Quaternion orientation
}
component Cameras {
name: "Cameras"
description: "List of connected Cameras"
components:
dynamic Camera camera
}
\ No newline at end of file
@prefix quantitykind: <https://qudt.org/vocab/quantitykind/> ;
@prefix unit: <http://qudt.org/vocab/unit/> ;
@prefix qudt: <http://qudt.org/schema/qudt/>;
@prefix schema: <http://schema.org/> ;
@prefix ebucore: <http://www.ebu.ch/metadata/ontologies/ebucore/ebucore#> ;
variable Latency defines <quantitykind:Time> {
name: "Latency"
description: "Measured latency"
datatype: float
range: (0.0,)
dimension: []
unit: <unit:MilliSEC>
}
variable Timestamp defines <qudt:DATETIME> {
name: "Timestamp"
description: "Timestamp of the current frame"
datatype: float
range: (0.0,)
dimension: []
unit: <unit:MilliSEC>
}
variable FrameID defines <schema:identifier> {
name: "Frame ID"
description: "ID of the current frame"
datatype: int
range: (0,)
dimension: []
unit: <unit:UNITLESS>
}
component Frame defines <ebucore:Keyframe>{
name: "Frame"
description: "Information about the current frame"
measurements:
internal FrameID frameID
internal Timestamp timestamp
internal Latency softwareLatency
internal Latency systemLatency
internal Latency transitLatency
internal Latency clientLatency
streams:
frameID: update
timestamp: update
softwareLatency: update
systemLatency: update
transitLatency: update
clientLatency: update
softwareLatency.name = "Software Latency"
systemLatency.name = "System Latency"
transitLatency.name = "Transit Latency"
clientLatency.name = "Client Latency"
}
\ No newline at end of file
@prefix quantitykind: <https://qudt.org/vocab/quantitykind/> ;
@prefix unit: <http://qudt.org/vocab/unit/> ;
@prefix schema: <http://schema.org/> ;
@prefix dbo: <http://dbpedia.org/ontology/> ;
import utils;
enum MarkerTypes {
ACTIVE
UNLABELED
LABELED
}
variable Type defines <schema:type> {
name: "Type"
description: "Type of the marker"
datatype: enum
range: MarkerTypes
dimension: []
}
variable ID defines <schema:identifier> {
name: "Marker ID"
description: "ID of the marker"
datatype: string
dimension: []
}
variable Name defines <schema:name> {
name: "Marker Name"
description: "Name of the marker"
datatype: string
dimension: []
}
variable Size defines <quantitykind:Diameter> {
name: "Marker Size"
description: "Size of the marker"
datatype: float
range: (0.0,)
dimension: []
unit: <unit:M>
}
component Marker {
name: "Marker"
description: "Detected Marker"
parameters:
Name name
ID id #readonly
measurements:
utils.Position position
Size size
streams:
position: update
size: update
}
component Markers {
name: "Markers"
description: "List of detected Markers"
components:
dynamic Marker marker
}
@prefix schema: <http://schema.org/>;
import utils;
import Camera;
import Marker;
import Frame;
import RigidBody;
variable Time defines <schema:DateTime> {
name: "Time"
description: "Current UTC system time."
datatype: time
dimension: []
}
variable APIVersion defines <schema:version> {
name: "API Version"
description: "NatNet SDK Version"
datatype: string
dimension: []
}
variable Manufacturer defines <schema:manufacturer> {
name: "Manufacturer"
description: "Name of the manufacturer of the device."
datatype: string
dimension: []
}
component OptiTrackSystem {
name: "OptiTrack"
description: "OptiTrack motion capture system"
components:
Frame.Frame frame
Camera.Cameras cameras
Marker.Markers markers
RigidBody.RigidBodys rigidBodys
parameters:
utils.State state = OK
constant Manufacturer manufacturer = "NaturalPoint Inc."
APIVersion version
Time time
}
interface OptiTrackSystem OptiTrack {}
\ No newline at end of file
@prefix quantitykind: <https://qudt.org/vocab/quantitykind/> ;
@prefix unit: <http://qudt.org/vocab/unit/> ;
@prefix schema: <http://schema.org/> ;
@prefix dbo: <http://dbpedia.org/ontology/> ;
import utils;
variable Name defines <schema:name> {
name: "Name"
description: "Name of the rigid body"
datatype: string
dimension: []
}
enum TrackingStates {
VALID
NOTVALID
}
variable TrackingState defines <dbo:status> {
name: "State"
description: "State of the rigid body"
datatype: enum
range: TrackingStates
dimension: []
}
variable MeanError defines <quantitykind:Distance> {
name: "Mean Error"
description: "Mean Error of the ridid body"
datatype: float
range: (0.0,)
dimension: []
unit: <unit:M>
}
component RigidBody {
name: "Rigid Body"
description: "Tracked Rigid Body"
parameters:
Name name
TrackingState state
measurements:
utils.Position position
utils.Quaternion orientation
MeanError meanError
streams:
position: update
orientation: update
meanError: update
}
component RigidBodys {
name: "RigidBodys"
description: "List of detected RigidBodys"
components:
dynamic RigidBody rigidBody
}
\ No newline at end of file
......@@ -27,6 +27,21 @@ export function DemoProjects() {
})
})
});
}
const addOptiTrackModel = () => {
fetch("/../../soil/OptiTrack.soil").then(file => file.text()).then(optitrack => {
fetch("/../../soil/Camera.soil").then(file2 => file2.text()).then(camera => {
fetch("/../../soil/Frame.soil").then(file3 => file3.text()).then(frame => {
fetch("/../../soil/Marker.soil").then(file3 => file3.text()).then(marker => {
fetch("/../../soil/RigidBody.soil").then(file3 => file3.text()).then(rigidbody => {
fetch("/../../soil/utils.soil").then(file4 => file4.text()).then(utils => {
dispatch(addTextModel(["OptiTrack", "OptiTrack", optitrack, "Camera", camera, "Frame", frame, "Marker", marker, "RigidBody", rigidbody, "utils", utils]))
})
})
})
})
})
});
}
return (
<List sx={{ overflowY: "auto", width: '100%', bgcolor: 'background.paper' }}>
......@@ -84,6 +99,24 @@ export function DemoProjects() {
</ListItem>
<Divider variant="inset" component="li" />
</div>
<div key={"DemoProjectOptiTrack"}><ListItem secondaryAction={
<IconButton onClick={addOptiTrackModel} edge="end" aria-label="comments">
<Tooltip title="Import this Project">
<div>
<CloudDownloadIcon />
</div>
</Tooltip>
</IconButton>
}>
<ListItemAvatar>
<Avatar>
<ImageIcon />
</Avatar>
</ListItemAvatar>
<ListItemText primary={<div>{"OptiTrack"}<small> {"1.0"}</small></div>} />
</ListItem>
<Divider variant="inset" component="li" />
</div>
</List>
);
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment