Skip to content

sciluna/cytoscape.js-transform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cytoscape-transform

Description

This extension adds support for applying basic geometric transformations (flipping, rotation and scaling) to graph elements.

Click here for a demo.

cytoscape-transform.mov

API

cy.transform(options) To initialize the extension with given options.

let api = cy.transform('get') To get the extension instance after initialization.

api.flipVertical(nodes) Flip the given nodes vertically across the horizontal line passing through the center of their bounding box.

api.flipHorizontal(nodes) Flip the given nodes horizontally across the vertical line passing through the center of their bounding box.

api.rotate(nodes, angle) Rotate the given nodes around the center of their bounding box by the given angle (a positive angle rotates clockwise).

api.scale(nodes, scalingFactor) Scale the given nodes about the center of their bounding box by the given scaling factor.

api.setOption(optionName, optionValue) Change the given option with the given value.

Default Options

    var options = {
      animate: true, // whether to animate during transformations
      animationDuration: 1000, // when animate is true, the duration in milliseconds of the animation
    };

Dependencies

  • Cytoscape.js ^3.3.0

Usage instructions

Download the library:

  • via npm: npm install cytoscape-transform,
  • via bower: bower install cytoscape-transform, or
  • via direct download in the repository (probably from a tag).

Import the library as appropriate for your project:

ES import:

import cytoscape from 'cytoscape';
import transform from 'cytoscape-transform';

cytoscape.use( transform );

CommonJS require:

let cytoscape = require('cytoscape');
let transform = require('cytoscape-transform');

cytoscape.use( transform ); // register extension

AMD:

require(['cytoscape', 'cytoscape-transform'], function( cytoscape, transform ){
  transform( cytoscape ); // register extension
});

Plain HTML/JS has the extension registered for you automatically, because no require() is needed.

Publishing instructions

This project is set up to automatically be published to npm and bower. To publish:

  1. Build the extension : npm run build
  2. Commit the build : git commit -am "Build for release"
  3. Bump the version number and tag: npm version major|minor|patch
  4. Push to origin: git push && git push --tags
  5. Publish to npm: npm publish .
  6. Make a new release for Zenodo.

About

Apply basic transformations to graph elements

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors