예제 #1
0
 public void OnAddLogAnnotationPosition(SubDataset dataset, LogAnnotationPositionInstance annot)
 {
     lock (this)
     {
         m_annotationPositionsGOsInCreation.Add(annot);
     }
 }
예제 #2
0
 public void OnSetMappedIndices(LogAnnotationPositionInstance comp, Int32[] old)
 {
     lock (this)
     {
         m_mappedIdx   = (Int32[])comp.MappedIndices.Clone();
         m_updateColor = true;
     }
 }
예제 #3
0
 public void OnSetCurrentTime(LogAnnotationPositionInstance comp)
 {
     lock (this)
         if (Component.UseTime)
         {
             m_updatePos = true;
         }
 }
예제 #4
0
 /// <summary>
 /// Register a new LogAnnotationPositionInstance. The event 'OnAddLogAnnotationPosition' shall be fired
 /// </summary>
 /// <param name="pos">The annotation to register</param>
 public void AddLogAnnotationPosition(LogAnnotationPositionInstance pos)
 {
     lock (this)
     {
         m_logAnnotPositions.Add(pos);
         pos.CurrentTime = (m_tf == null) ? 0 : m_tf.Timestep;
         foreach (var l in m_listeners)
         {
             l.OnAddLogAnnotationPosition(this, pos);
         }
     }
 }
예제 #5
0
 /// <summary>
 /// Initialize the object
 /// </summary>
 /// <param name="data">The data model to use (see Component)</param>
 public void Init(LogAnnotationPositionInstance data)
 {
     Component = data;
     Component.Component.AddListener(this);
     Component.Container.AddListener(this);
     Component.SubDataset.AddListener(this);
     Component.AddListener(this);
     m_tubeRenderer = gameObject.GetComponent <TubeRenderer>();
     ReadPosition();
     m_mappedIdx   = (Int32[])Component.MappedIndices.Clone();
     m_updateColor = m_updatePos = true;
 }
예제 #6
0
        /// <summary>
        /// Create a log annotation position GameObject
        /// </summary>
        /// <param name="annot">The annotation model data</param>
        private void CreateLogAnnotationPositionGO(LogAnnotationPositionInstance annot)
        {
            bool found = false;

            foreach (LogAnnotationPositionGameObject go in m_annotationPositionsGOs)
            {
                if (go.Component == annot)
                {
                    found = true;
                    break;
                }
            }

            if (!found)
            {
                LogAnnotationPositionGameObject go = Instantiate(LogAnnotationPositionPrefab);
                go.transform.SetParent(transform, false);
                go.transform.localPosition = new Vector3(0, 0, 0);
                go.transform.localRotation = Quaternion.identity;
                go.transform.localScale    = new Vector3(1, 1, 1);
                go.Init(annot);
                m_annotationPositionsGOs.Add(go);
            }
        }
예제 #7
0
 public virtual void OnAddLogAnnotationPosition(SubDataset dataset, LogAnnotationPositionInstance annot)
 {
 }
예제 #8
0
 public void OnSetColor(LogAnnotationPositionInstance comp)
 {
     lock (this)
         m_updateColor = true;
 }