NDEVR
API Documentation
URDFFactory.h
1#pragma once
2#include "DLLInfo.h"
3#include "IOFactory/Headers/ModelFactory.h"
4#include "Design/Headers/Model.h"
5#include "Base/Headers/Dictionary.h"
6#include "Base/Headers/String.h"
7#include "Base/Headers/UUID.h"
8namespace NDEVR
9{
10 class Model;
11 class File;
12
26
29 struct URDF_INTERFACE_API URDFJoint
30 {
31 Matrix<fltp08> transform = Matrix<fltp08>(1.0);
32 Vector<3, fltp08> axis = Vector<3, fltp08>(0,0,1);
33 fltp08 value = 0.0;
34 String name;
35 UUID child_model = Constant<UUID>::Invalid;
36 URDFJointType type = URDFJointType::e_unknown;
39 void applyValue(Model& child) const;
40 };
61
64 class URDF_INTERFACE_API URDFFactory
65 {
66 public:
71 static URDFFactoryOptions CreateModel(File file, bool load_geometry);
72 };
73
74
75}
A hash-based key-value store, useful for quick associative lookups.
Definition Dictionary.h:64
Data that describes a particular file format and how to use the format with the program.
Definition FileFormat.h:45
Logic for reading or writing to a file as well as navigating filesystems or other common file operati...
Definition File.h:53
A core class that represents a node on model hierarchy.
Definition Model.h:292
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:61
The primary namespace for the NDEVR SDK.
URDFJointType
Enumerates the types of joints supported in URDF robot descriptions.
Definition URDFFactory.h:17
@ e_planer
Planar joint constrained to a plane normal axis.
Definition URDFFactory.h:23
@ e_floating
Free-floating joint with six degrees of freedom.
Definition URDFFactory.h:22
@ e_continuous
Continuous rotation joint (no limits).
Definition URDFFactory.h:20
@ e_rotation_axis
Rotation about an axis (revolute joint).
Definition URDFFactory.h:19
@ e_fixed
Fixed joint with no degrees of freedom.
Definition URDFFactory.h:24
@ e_prismatic
Translation along an axis (prismatic joint).
Definition URDFFactory.h:21
@ file
The source file path associated with this object.
@ e_unknown
Unknown device type.
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
A container of input information that is to be filled with output information by an IOFactory.
Definition IOFactory.h:105
Options and output data for a URDF file parsing operation.
Definition URDFFactory.h:45
Dictionary< String, URDFJoint > joints
A dictionary mapping joint names to their URDFJoint objects.
Definition URDFFactory.h:58
Dictionary< String, Model > geometries
A dictionary mapping geometry names to their Model objects.
Definition URDFFactory.h:57
bool load_geometry
Whether to load geometry data from the URDF file.
Definition URDFFactory.h:59
FactoryParameters params
The factory parameters for the URDF file.
Definition URDFFactory.h:55
URDFFactoryOptions(const FactoryParameters &params)
Constructs options from existing factory parameters.
Definition URDFFactory.h:52
Model root
The root model of the parsed URDF.
Definition URDFFactory.h:56
URDFFactoryOptions()
Default constructor with empty factory parameters.
Definition URDFFactory.h:47