Skip to content

Instantly share code, notes, and snippets.

View leefsmp's full-sized avatar

Philippe Leefsma leefsmp

View GitHub Profile
/////////////////////////////////////////////////////////
// Viewing.Extension.ModelLoader
// by Philippe Leefsma, April 2017
//
/////////////////////////////////////////////////////////
import MultiModelExtensionBase from 'Viewer.MultiModelExtensionBase'
import ContentEditable from 'react-contenteditable'
import './Viewing.Extension.ModelLoader.scss'
import WidgetContainer from 'WidgetContainer'
import ServiceManager from 'SvcManager'
@leefsmp
leefsmp / re-flex-demo-size-aware-element.jsx
Last active November 4, 2018 12:07
Size Aware element Re-Flex demo
/////////////////////////////////////////////////////////
// Re-Flex Size Aware element demo
//
/////////////////////////////////////////////////////////
class SizeAwareElement extends React.Component {
fitBounds (value, min, max) {
return Math.max(Math.min(value, max), min)
}
@leefsmp
leefsmp / production.webpack.config.js
Last active June 5, 2023 15:52
Forge React Boiler Webpack production config
///////////////////////////////////////////////////////////
// Forge React Boiler Webpack production config
// Repo at:
// https://github.com/Autodesk-Forge/forge-react-boiler.nodejs
//
// by Philippe Leefsma, 2016
// https://twitter.com/F3lipek
//
///////////////////////////////////////////////////////////
const InlineManifestWebpackPlugin = require('inline-manifest-webpack-plugin')
@leefsmp
leefsmp / lmv-proxy.js
Created February 24, 2017 13:44
Forge Viewer secure proxy
/////////////////////////////////////////////////////////////////
// Forge Viewer proxy
// By Philippe Leefsma, February 2017
//
/////////////////////////////////////////////////////////////////
import ServiceManager from '../services/SvcManager'
import https from 'https'
import path from 'path'
/////////////////////////////////////////////////////////////////
@leefsmp
leefsmp / shader-material-extension-part2.js
Last active February 2, 2017 23:10
Basic Custom Lambert Shader Material Extension for Forge Viewer
/////////////////////////////////////////////////////////////////
// ShaderMaterial Extension - Part 2
// By Philippe Leefsma, February 2016
//
/////////////////////////////////////////////////////////////////
import ShaderMaterialPanel from './Viewing.Extension.ShaderMaterial.Panel'
import ExtensionBase from 'Viewer.ExtensionBase'
// code for our previous basic shader
// without light computation
@leefsmp
leefsmp / shader-material-extension-part1.js
Last active September 10, 2018 09:09
Basic Shader Material Extension for Forge Viewer
/////////////////////////////////////////////////////////////////
// ShaderMaterial Extension - Part 1
// By Philippe Leefsma, January 2016
//
/////////////////////////////////////////////////////////////////
import ExtensionBase from 'Viewer.ExtensionBase'
const vertexShader = `
varying vec2 vUv;
@leefsmp
leefsmp / forge-viewer-full-isolation.js
Last active January 23, 2017 20:12
Isolate viewer node by hidding completely - no ghosting
// Example of use:
// isolateFull(viewer, viewer.model, [39, 45, 61])
static isolateFull (viewer, model = null, dbIds = []) {
return new Promise(async(resolve, reject) => {
try {
model = model || viewer.model
@leefsmp
leefsmp / re-flex-demo-controlled-element.jsx
Last active February 24, 2021 07:43
Re-Flex Controlled element demo
/////////////////////////////////////////////////////////
// Re-Flex Controlled element demo
//
/////////////////////////////////////////////////////////
class ControlledElementCls
extends React.Component {
constructor () {
super()
@leefsmp
leefsmp / re-flex-demo-splitter-propagation3x.jsx
Created January 16, 2017 09:31
Re-Flex vertical layout with triple resizable splitter propagation
/////////////////////////////////////////////////////////
// Re-Flex vertical layout with triple
// resizable splitter propagation
//
/////////////////////////////////////////////////////////
class ReflexSplitterPropagationDemo3x
extends React.Component {
render () {
@leefsmp
leefsmp / re-flex-demo-splitter-propagation2x.jsx
Last active January 16, 2017 09:30
Re-Flex vertical layout with double resizable splitter propagation
/////////////////////////////////////////////////////////
// Re-flex vertical layout with double
// resizable splitter propagation
//
/////////////////////////////////////////////////////////
class ReflexSplitterPropagationDemo2x
extends React.Component {
render () {