Skip to content

Instantly share code, notes, and snippets.

View KeanW's full-sized avatar

Kean Walmsley KeanW

View GitHub Profile
@KeanW
KeanW / StreamlineExtension.ts
Created September 11, 2018 10:09
Forge viewer extension that creates Streamline objects
/// <reference path='../../types/three.d.ts' />
import { Logger } from '../../core/Logger';
let logger = Logger.getInstance();
import { ShowableExtension } from '../../core/ShowableExtension';
import { DasherModel } from '../../core/DasherModel';
import { Streamline } from './Streamline';
export class StreamlineExtension extends ShowableExtension {
private _overlayScene = "DasherStreamlinesOverlay";
@KeanW
KeanW / Streamline.ts
Created September 11, 2018 10:08
Streamline implementation
import * as MeshLine from './THREE.MeshLine.js';
export class Streamline extends THREE.Mesh {
public vertices: THREE.Vector3[];
private _meshLine: any;
private _lineGeometry: THREE.Geometry;
private _vis: number;
constructor(
/// <reference path='../../types/three.d.ts' />
import { Logger } from '../../core/Logger';
let logger = Logger.getInstance();
import { ShowableExtension } from '../../core/ShowableExtension';
import { DasherModel } from '../../core/DasherModel';
import { SkeletonHelper2 } from './SkeletonHelper2';
export class SkeletonExtension extends ShowableExtension {
private _skeletons: { [key: number]: [THREE.SkinnedMesh, THREE.Bone, SkeletonHelper2] };
import * as MeshLine from './THREE.MeshLine.js'
export class SkeletonHelper2 extends THREE.Group {
private root: THREE.Object3D;
private bones: THREE.Bone[];
private meshLines: any[];
private meshes: any[];
private fakeGeometry: any[];
/// <reference path='../../types/three.d.ts' />
import { Logger } from '../../core/Logger';
let logger = Logger.getInstance();
import { ShowableExtension } from '../../core/ShowableExtension';
import { DasherModel } from '../../core/DasherModel';
export class SkeletonExtension extends ShowableExtension {
private _skeletons: { [key: number]: [THREE.SkinnedMesh, THREE.Bone, THREE.SkeletonHelper] };
private _skeletonMaterial: any = null;
/// <reference path='../../types/three.d.ts' />
import { Logger } from '../../core/Logger';
let logger = Logger.getInstance();
import { ShowableExtension } from '../../core/ShowableExtension';
import { DasherModel } from '../../core/DasherModel';
export class SkeletonExtension extends ShowableExtension {
private _skeletons: { [key: number]: [THREE.SkinnedMesh, THREE.Bone, THREE.SkeletonHelper] };
private _skeletonMaterial: any = null;
/// <reference path='../../types/three.d.ts' />
import { Logger } from '../../core/Logger';
let logger = Logger.getInstance();
import { ShowableExtension } from '../../core/ShowableExtension';
export class SkeletonExtension extends ShowableExtension {
private _lineMaterial: any = null;
private _vertexMaterial: any = null;
private _overlayScene = "DasherSkeletonOverlay";
@KeanW
KeanW / drive-robot.cs
Created January 8, 2016 15:13
C# file to drive robots from within AutoCAD via our Node/Cylon.js web-service
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using System.Globalization;
using System.Net;
using System.Web.Script.Serialization;
namespace DriveRobots
{
public static class Extensions
@KeanW
KeanW / robots-server.js
Last active January 8, 2016 07:59
Node web-service to control Ollie and BB-8 robots using Cylon.js
// robots-server.js
var express = require('express');
var app = express();
var robots = require('./bb8-ollie-cylon-controller');
var port = process.env.PORT || 8080;
var router = express.Router();
@KeanW
KeanW / bb8-ollie-cylon-controller.js
Last active April 22, 2016 04:05
JavaScript code using Cylon.js to drive an Ollie and a BB-8 behind a web-service
var Cylon = require('cylon');
var cyrob = Cylon.robot({
connections: {
bluetooth_ollie: { adaptor: 'central', uuid: '1259a8ff5b694bf39c77d235fa8ade26', module: 'cylon-ble'},
bluetooth_bb8: { adaptor: 'central', uuid: '971cf6561dec4974ab9d266927873778', module: 'cylon-ble'}
},
devices: {