GLViewer

The main viewer component that handles WebGL rendering and user interactions.

Constructor

new GLViewer(container: string | HTMLElement, options?: ViewerConfig)

Configuration Options

interface ViewerConfig {
  backgroundColor?: string;      // Background color (hex or rgb)
  width?: number;               // Viewer width
  height?: number;              // Viewer height
  antialias?: boolean;          // Enable antialiasing
  pixelRatio?: number;          // Device pixel ratio
  fog?: boolean;                // Enable fog effect
  fogNear?: number;             // Fog near distance
  fogFar?: number;              // Fog far distance
  fogColor?: string;            // Fog color
  camera?: {                    // Camera settings
    position?: [number, number, number];
    target?: [number, number, number];
    fov?: number;
    near?: number;
    far?: number;
  };
}

Methods

loadPDB

Loads a PDB file into the viewer

async loadPDB(url: string, options?: ModelConfig): Promise<GLModel>

setControls

Configures viewer controls

setControls(options: ControlsConfig): void

zoomTo

Centers and zooms the camera to fit the current model

zoomTo(): void

render

Renders the current scene

render(): void

Example

// Create viewer
const viewer = new GLViewer('viewer', {
  backgroundColor: '#000000',
  width: 800,
  height: 600,
  antialias: true
});

// Load structure
const model = await viewer.loadPDB('structure.pdb');

// Set up controls
viewer.setControls({
  rotate: true,
  zoom: true,
  pan: true
});

// Center and zoom to fit
viewer.zoomTo();

Related Components

Learn more about other core components: