
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
urdf-exporter
Advanced tools
Utility for exporting a three.js object hierarchy as a URDF.
Exporting a model constructed from URDF classes like URDFLink
and URDFJoint
.
import { URDFExporter } from 'urdf-exporter';
import { STLExporter } from 'three/examples/jsm/exporters/STLExporter.js';
let urdfModel;
// ... create a model using the URDF classes for export
const models = {};
const exporter = new URDFExporter();
exporter.processGeometryCallback = ( model, link ) => {
const name = `${ link.name }_mesh.stl`;
models[ name ] = new STLExporter().parse( model );
return name;
};
urdfModel.updateMatrixWorld();
const urdf = exporter.parse( urdfModel );
// ... urdf content ready!
Converting an existing model to one made with the appropriate classes.
import { URDFConverter, URDFRobot, URDFLink, URDFJoint, URDFVisual } from 'urdf-exporter';
let model;
// ... create or load a model
const convert = new URDFConverter();
converter.generateCallback = child => {
let result;
if ( child.linkData ) {
if ( child === model ) {
result = new URDFRobot();
result.robotName = 'my-robot-urdf';
} else {
result = new URDFLink();
}
result.name = child.linkData.name;
} else if ( child.jointData ) {
result = new URDFJoint();
result.name = child.jointData.name;
result.jointType = 'revolute';
result.limit.lower = - Math.PI / 2;
result.limit.upper = Math.PI / 2;
} else if ( child.isMesh ) {
result = new URDFVisual()
result.add( child.clone() );
} else {
result = new Group();
}
result.position.copy( child.position );
result.quaternion.copy( child.quaternion );
result.scale.copy( child.scale );
};
const urdfModel = converter.generate( model );
// ... urdf class hierarchy!
Utility class to enable convenient conversion from three.js objects to URDF classes for export.
generateCallback : ( object : Object3D ) => Object3D
Callback used for generating URDF class equivalents. The function is expected to return a cloned version of the provided mesh or a URDF class describing the analogous object. The returned object must be the child object that will have children added to it. The generator will then find the root parent to add to the previously processed object.
For example a custom three.js joint type could converted into a joint and link connection which can be run through the URDFExporter
.
postprocessCallback : ( object : URDFRobot ) => void
A function that takes the generated URDF result to enable fixups and other types of postprocessing that might be needed.
generate( object : Object3D ) : URDFRobot
Traverses the given hierarchy and generates a converted URDF hierarchy.
indent = '\t' : string
The set of indentation characters to use.
processGeometryCallback : ( node : Object3D, link : URDFLink ) => string
The callback for to use when processing geometry. Geometry must be processed and cached in order to be exported. A file path is returned from the function.
parse( root : URDFRobot ) : string
Parses the object into a urdf file. Returns the URDF contents as a string. The hierarchy matrix world must be updated before calling this function.
Class containing values to export for joint limits.
upper = 0 : Number
lower = 0 : Number
velocity = 0 : Number
effort = 0 : Number
Class containing values for the link inertial frame.
position : Vector3
rotation : Euler
mass = 0 : Number
inertial : Matrix3
The upper triangular matrix is used to define the xx
, yy
, zz
, xy
, yz
, and xz
fields.
extends THREE.Object3D
When this field is encountered a new link is created in the URDF file.
inertial : URDFInertialFrame
extends THREE.Object3D
When this field is encountered a new joint is created in the URDF file.
jointType = 'fixed' : string
axis : Vector3
limit : URDFLimit
extends URDFLink
A class describing the root of the URDF Robot.
robotName = '' : string
extends THREE.Object3D
extends THREE.Object3D
FAQs
THREE.js utility for exporting object trees as a URDF file.
We found that urdf-exporter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.