function createNodeStructure( rawNodes, classMap ){
	    var nodes = [];

	    // Set the default values
	    var maxIndividualCount = 0;
	    rawNodes.forEach(function ( node ){
	      maxIndividualCount = Math.max(maxIndividualCount, node.individuals().length);
	      node.visible(true);
	    });

	    rawNodes.forEach(function ( node ){
	      // Merge and connect the equivalent nodes
	      processEquivalentIds(node, classMap);

	      attributeParser.parseClassAttributes(node);

	      node.maxIndividualCount(maxIndividualCount);
	    });

	    // Collect all nodes that should be displayed
	    rawNodes.forEach(function ( node ){
	      if ( node.visible() ) {
	        nodes.push(node);
	      }
	    });

	    return nodes;
	  }
/**
	   * Checks all attributes which have to be rewritten.
	   * For example:
	   * <b>equivalent</b> is filled with only ID's of the corresponding nodes. It would be better to used the
	   * object instead of the ID so we swap the ID's with the correct object reference and can delete it from drawing
	   * because it is not necessary.
	   */
Checks all attributes which have to be rewritten.
For example:
equivalent is filled with only ID's of the corresponding nodes. It would be better to used the
object instead of the ID so we swap the ID's with the correct object reference and can delete it from drawing
because it is not necessary.
Checks all attributes which have to be rewritten . For example : equivalent is filled with only ID ' s of the corresponding nodes . It would be better to used the object instead of the ID so we swap the ID ' s with the correct object reference and can delete it from drawing because it is not necessary .
function createNodeStructure( rawNodes, classMap ){
	    var nodes = [];
	    var maxIndividualCount = 0;
	    rawNodes.forEach(function ( node ){
	      maxIndividualCount = Math.max(maxIndividualCount, node.individuals().length);
	      node.visible(true);
	    });
	    rawNodes.forEach(function ( node ){
	      processEquivalentIds(node, classMap);
	      attributeParser.parseClassAttributes(node);
	      node.maxIndividualCount(maxIndividualCount);
	    });
	    rawNodes.forEach(function ( node ){
	      if ( node.visible() ) {
	        nodes.push(node);
	      }
	    });
	    return nodes;
	  }
function createNodeStructure ( rawNodes , classMap ) { var nodes = [ ] ; var maxIndividualCount = 0 ; rawNodes . forEach ( function ( node ) { maxIndividualCount = Math . max ( maxIndividualCount , node . individuals ( ) . length ) ; node . visible ( true ) ; } ) ; rawNodes . forEach ( function ( node ) { processEquivalentIds ( node , classMap ) ; attributeParser . parseClassAttributes ( node ) ; node . maxIndividualCount ( maxIndividualCount ) ; } ) ; rawNodes . forEach ( function ( node ) { if ( node . visible ( ) ) { nodes . push ( node ) ; } } ) ; return nodes ; }
Checks all attributes which have to be rewritten.
Checks all attributes which have to be rewritten .
// Set the default values // Merge and connect the equivalent nodes // Collect all nodes that should be displayed