예제 #1
0
    void Update()
    {
        // updating variable here, as opposed to doing it in Start(), otherwise we won't see runtime updates of forceSphereRadius
        sphRadius    = graphControl.NodePhysXForceSphereRadius;
        sphRadiusSqr = sphRadius * sphRadius;

        if (_isCentroid)
        {
            return;
        }


        // if this is a datapoint (not gene or centroid)
        if (OriginType.Equals(DataTypes.FILE_DATA) || OriginType.Equals(DataTypes.ADDED_DATA) && OriginType != DataTypes.GENE)
        {
            HandleDataPointOperations();

            // if links are active and need to be added/checked (new datapoints added or initial check)
            if (_nodeHandler.PPLinksActive && _nodeHandler.PPLinksUpdate)
            {
                UpdateDataDataAssociations();
                _nodeHandler.DataPointReportLinksUpdated();
            }

            // if linksactive is turned off, destroy any links to this point that may exist
            if (!_nodeHandler.PPLinksActive && LinksToAssociations.Count > 0)
            {
                Debug.Log("Destroying links");
                DestroyAssociationLinks();
            }
            if (_nodeHandler.PGLinksActive && _nodeHandler.PGLinksUpdate)
            {
                UpdateDataGeneAssociations();
                _nodeHandler.DataPointReportGeneLinksUpdated();
            }
            if (!_nodeHandler.PGLinksActive && LinksToGenes.Count > 0)
            {
                DestroyGeneLinks();
            }
        }
    }