Skip to content
Snippets Groups Projects
Select Git revision
  • 6beece4440a3194b417c7a3f52387db467428acb
  • master default protected
  • devel
  • hruska-feature-clients-api
  • malostik-#5066-deduplicate-idea-ids
  • warden-postgresql-port
  • hruska-feature-#6799-filter-keys
  • hruska-feature-5066-duplicateIdeaID
  • warden-client-3.0-beta3
  • warden-server-3.0-beta3
  • warden-client-2.2-final
  • warden-server-2.2-final
  • warden-client-3.0-beta2
  • warden-server-3.0-beta2
  • warden-client-2.2
  • warden-server-2.2-patch3
  • warden-client-3.0-beta1
  • warden-server-3.0-beta1
  • warden-server-2.2-patch1
  • warden-client-3.0-beta0
  • warden-server-3.0-beta0
  • warden-server-2.2
  • warden-server-2.1-patch1
  • warden-client-2.1
  • warden-server-2.1
  • warden-server-2.1-beta6
  • warden-server-2.1-beta5
  • warden-server-2.1-beta4
28 results

build-client.sh

Blame
  • object3d.ts 849 B
    /**
     * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info.
     *
     * @author Alexander Rose <alexander.rose@weirdbyte.de>
     */
    
    import { Vec3, Mat4 } from '../mol-math/linear-algebra';
    
    export interface Object3D {
        readonly view: Mat4
        readonly position: Vec3
        readonly direction: Vec3
        readonly up: Vec3
    }
    
    export namespace Object3D {
        export function create(): Object3D {
            return {
                view: Mat4.identity(),
                position: Vec3.create(0, 0, 0),
                direction: Vec3.create(0, 0, -1),
                up: Vec3.create(0, 1, 0),
            };
        }
    
        const center = Vec3.zero();
        export function update(object3d: Object3D) {
            Vec3.add(center, object3d.position, object3d.direction);
            Mat4.lookAt(object3d.view, object3d.position, center, object3d.up);
        }
    }