https://github.com/ivis-at-bilkent/avsdf-base

A JS implementation of Adjacent Vertex with Smallest Degree First algorithm

https://github.com/ivis-at-bilkent/avsdf-base

Science Score: 18.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: researchgate.net
  • Committers with academic emails
  • Institutional organization owner
    Organization ivis-at-bilkent has institutional domain (www.cs.bilkent.edu.tr)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

A JS implementation of Adjacent Vertex with Smallest Degree First algorithm

Basic Info
  • Host: GitHub
  • Owner: iVis-at-Bilkent
  • License: mit
  • Language: JavaScript
  • Default Branch: master
  • Homepage:
  • Size: 429 KB
Statistics
  • Stars: 1
  • Watchers: 5
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created about 7 years ago · Last pushed almost 5 years ago
Metadata Files
Readme License

README.md

avsdf-base

Description

avsdf-base is a JavaScript library that constitutes of elements helpful in applying the Circular Drawing Algorithm by Hongmei He & Ondrej Sýkora.

## Dependencies

  • layout-base ^1.0.0

Elements of layout-base can be accessed through this library as well. See below for an example.

## Usage

Add avsdf-base as a dependecy to your layout extension.

require() in the extension to reach functionality:

js const AVSDFLayout = require('avsdf-base').AVSDFLayout; const AVSDFNode = require('avsdf-base').AVSDFNode; const AVSDFConstants = require('avsdf-base').AVSDFConstants; const PointD = require('avsdf-base').layoutBase.PointD; const DimensionD = require('avsdf-base').layoutBase.DimensionD;

API

The main layout and a Graph Manager (see layout-base for details) connected to this layout is needed with

js let avsdfLayout = new AVSDFLayout(); let graphManager = avsdfLayout.newGraphManager(); let root = graphManager.addRoot(); Filling in the Graph Manager with nodes and edges are more related to layout-base library than this library. So details have to be found there. But remember to add AVSDF elements as opposed to layout-base elements. Also remember that the root of the Graph Manager should be an AVSDFCircle object.

```js // Adding a node Let node = root.add(new AVSDFNode(graphManager));

// Adding an edge Let edge = graphManager.add(avsdfLayout.newEdge(), sourceNode, targetNode); ```

After all nodes and edges are added. The algorithm can be run as shown below.

```js // Running the AVSDF layout. avsdfLayout.layout();

// Post process is iterated over the sorted list of vertex degrees (descending) let sortedByDegreeList = avsdfLayout.initPostProcess();

// Post process is done step by step so that it could be displayed more efficiently for (node in sortedByDegreeList) { avsdfLayout.oneStepPostProcess(node); }

// An update for the angles (in radians) for the node angles are needed avsdfLayout.updateNodeAngles();

// An update for the node coordinates are needed avsdfLayout.updateNodeCoordinates(); ```

Note that updateNodeAngles() and updateNodeCoordinates() have to be called at each step if you want to take post processing apart instead of doing it in one go as shown above.

Owner

  • Name: i-Vis at Bilkent
  • Login: iVis-at-Bilkent
  • Kind: organization

i-Vis Research Lab at Bilkent University

GitHub Events

Total
Last Year

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 8
  • Total Committers: 2
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.375
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
alihanokka a****a@h****m 5
Hasan Balcı b****9@g****m 3

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 1
  • Total pull requests: 2
  • Average time to close issues: about 8 hours
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hasanbalci (1)
Pull Request Authors
  • dependabot[bot] (1)
  • hasanbalci (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (1)

Packages

  • Total packages: 1
  • Total downloads:
    • npm 45,177 last-month
  • Total docker downloads: 92
  • Total dependent packages: 4
  • Total dependent repositories: 46
  • Total versions: 1
  • Total maintainers: 1
npmjs.org: avsdf-base

Library elements of the AVSDF algorithm

  • Versions: 1
  • Dependent Packages: 4
  • Dependent Repositories: 46
  • Downloads: 45,177 Last month
  • Docker Downloads: 92
Rankings
Downloads: 1.3%
Docker downloads count: 1.5%
Dependent repos count: 1.9%
Dependent packages count: 5.9%
Average: 7.1%
Forks count: 15.4%
Stargazers count: 16.7%
Maintainers (1)
Last synced: 7 months ago

Dependencies

package-lock.json npm
  • 1068 dependencies
package.json npm
  • babel-core ^6.24.1 development
  • babel-loader ^7.0.0 development
  • babel-preset-env ^1.5.1 development
  • camelcase ^4.1.0 development
  • cpy-cli ^1.0.1 development
  • cross-env ^5.1.6 development
  • eslint ^3.9.1 development
  • gh-pages ^1.1.0 development
  • npm-run-all ^4.1.2 development
  • rimraf ^2.6.2 development
  • update ^0.7.4 development
  • updater-license ^1.0.0 development
  • webpack ^2.6.1 development
  • webpack-dev-server ^2.4.5 development
  • layout-base ^1.0.0