Skip to content

Instantly share code, notes, and snippets.

import React from 'react';
import { StackNavigator, NavigationActions } from 'react-navigation';
import { FlatList, View, Text, TouchableOpacity } from 'react-native';
import {styles} from "./styles";
let mTabNav;
class FileListNav extends React.Component {
constructor(props) {
import React, { Component } from 'react';
import { Ionicons } from '@expo/vector-icons';
import { TabNavigator, TabBarBottom } from 'react-navigation';
import {styles} from "./js/styles";
import FileList from './js/fileList';
import Viewer from './js/viewer';
export default TabNavigator(
{
// serializes Area-Measurement objects to JSON
this.getJson = function() {
// remove all indicator objects to avoid circular reference
const list = _measurementsManager.measurementsList;
Object.keys(list).map(i=>{ delete(list[i].indicator) });
var tmp = JSON.stringify(list);
Object.keys(list).map(i=>{ list[i].attachIndicator(_viewer, this, avem.MeasureToolIndicator) })
return tmp;
}
@wallabyway
wallabyway / markupExt.js
Last active April 21, 2018 02:09
markupExt.js
// MarkupExt.js
function markup3d(viewer, options) {
Autodesk.Viewing.Extension.call(this, viewer, options);
this.raycaster = new THREE.Raycaster();
this.raycaster.params.PointCloud.threshold = 5; // hit-test markup size. Change this if markup 'hover' doesn't work
this.size = 150.0; // markup size. Change this if markup size is too big or small
this.lineColor = 0xcccccc; // off-white
this.labelOffset = new THREE.Vector3(120,120,0); // label offset 3D line offset position
this.xDivOffset = -0.2; // x offset position of the div label wrt 3D line.
this.yDivOffset = 0.4; // y offset position of the div label wrt 3D line.
ffmpeg -ss 2.6 -t 1.3 -i input.mov -vf fps=15,scale=320:-1:flags=lanczos,palettegen palette.png
ffmpeg -ss 2.6 -t 1.3 -i input.mov -i palette.png -filter_complex "fps=15,scale=400:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
# 775x340 banner
# ffmpeg -ss 2.6 -t 0.8 -i input.mov -i palette.png -filter_complex "fps=12,scale=775:-1:flags=lanczos[x];[x][1:v]paletteuse,crop=775:340:0:0" output-banner.gif
@wallabyway
wallabyway / forge-skeleton
Last active February 1, 2023 16:59
right at the top
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="icon" href="data:,">
<link rel="stylesheet" href="https://wallabyway.github.io/floor-animation/skeleton.min.css">
<title>SkeletonCSS</title>
viewer.model.isConsolidated()
viewer.model.isOTG()
viewer.loadExtension("Autodesk.Viewing.Wireframes").then(i=>{i.activate()})
viewer.getExtension('Autodesk.BimWalk').deactivate()
ss=viewer.getState(); delete(ss.seedURN);delete(ss.objectSet); JSON.stringify(ss)
viewer.model.getData().globalOffset
viewer.impl.toggleEnvMapBackground(false)
viewer.impl.invalidate(false,false,true)
dbs=[];NOP_VIEWER.search("300 mm",i=>dbs.push(i))
@wallabyway
wallabyway / refreshMechanism.js
Last active April 20, 2020 20:46
Nodejs - Refresh token (generate a 3-legged AccessToken) for Robot accounts
// To install: > npm install node-fetch node-persist
// Notes: node-persist stores the refresh token data, into a text file on disk, so
// if the server reboots, the refresh token is persisted.
const fetch = require('node-fetch');
const storage = require('node-persist');
const FORGEURL = `https://developer.api.autodesk.com`;
import { getParameterByName } from "../globals";
import { isMobileDevice } from "../compat";
const av = Autodesk.Viewing;
const avp = av.Private;
// Enum for all extension names we are using here
const ExtNames = {
BimWalk: 'Autodesk.BimWalk',
Bookmarks: 'Autodesk.AEC.CanvasBookmarkExtension',