private void GetBaseInfluence() { ResourceNode[] boneCache = _externalModel._linker.BoneCache; if ((_node = (MDL0ObjectNode)comboBox1.SelectedItem).Weighted) { int least = int.MaxValue; foreach (IMatrixNode inf in _node.Influences) { if (inf is MDL0BoneNode && ((MDL0BoneNode)inf).BoneIndex < least) { least = ((MDL0BoneNode)inf).BoneIndex; } } if (least != int.MaxValue) { MDL0BoneNode temp = (MDL0BoneNode)boneCache[least]; _baseInf = (IMatrixNode)temp.Parent; } } else { _baseInf = _node.MatrixNode; } if (_baseInf is Influence) { label2.Hide(); comboBox2.Hide(); } else if (_baseInf is MDL0BoneNode) { label2.Show(); comboBox2.Show(); } baseBone.Text = _baseInf.ToString(); if (comboBox3.SelectedIndex == 0 && _baseInf is MDL0BoneNode) { int i = 0; foreach (MDL0BoneNode s in comboBox2.Items) { if (s.Name == baseBone.Text) { comboBox2.SelectedIndex = i; break; } i++; } } modelPanel1.AddTarget(_node); Vector3 min, max; _node.GetBox(out min, out max); modelPanel1.SetCamWithBox(min, max); }
private void ModelChanged(MDL0Node model) { //if (_externalNode != null) //{ // _externalNode.Dispose(); // _externalNode = null; //} if (_targetModel != null) { modelPanel1.RemoveTarget(_targetModel); } if ((_targetModel = model) != null) { modelPanel1.AddTarget(_targetModel); } modelPanel1.ResetCamera(); //modelPanel1.TargetModel = _targetModel; pnlOptions.TargetModel = _targetModel; pnlAnim.TargetModel = _targetModel; pnlAssets.Attach(_targetModel); //UpdateReferences(); //_animFrame = -1; SetFrame(0); }
private void ModelChanged(MDL0Node model) { if (model != null && !_targetModels.Contains(model)) { _targetModels.Add(model); } if (_targetModel != null) { _targetModel._isTargetModel = false; } if (model == null) { ModelPanel.RemoveTarget(_targetModel); } if ((_targetModel = model) != null) { ModelPanel.AddTarget(_targetModel); leftPanel.VIS0Indices = _targetModel.VIS0Indices; _targetModel._isTargetModel = true; ResetVertexColors(); } else { models.SelectedIndex = 0; } if (_resetCamera) { ModelPanel.ResetCamera(); SetFrame(0); } else { _resetCamera = true; } leftPanel.Reset(); rightPanel.Reset(); if (TargetModelChanged != null) { TargetModelChanged(this, null); } _updating = true; if (_targetModel != null && !_editingAll) { models.SelectedItem = _targetModel; } _updating = false; if (_targetModel != null) { RenderBones = _targetModel._renderBones; } }
public override void AppendTarget(IModel model) { if (!_targetModels.Contains(model)) { _targetModels.Add(model); } ModelPanel.AddTarget(model); model.ResetToBindState(); }
public virtual void AppendTarget(IModel model) { if (!_targetModels.Contains(model)) { _targetModels.Add(model); } ModelPanel.AddTarget(model, false); model.ResetToBindState(); }
public void AppendTarget(MDL0Node model) { if (!_targetModels.Contains(model)) { _targetModels.Add(model); } if (!models.Items.Contains(model)) { models.Items.Add(model); } ModelPanel.AddTarget(model); model.ApplyCHR(null, 0); model.ApplySRT(null, 0); model._renderBones = true; }
protected virtual void ModelChanged(IModel newModel) { if (newModel != null && !_targetModels.Contains(newModel)) { _targetModels.Add(newModel); } if (_targetModel != null) { _targetModel.IsTargetModel = false; } if ((_targetModel = newModel) != null) { ModelPanel.AddTarget(_targetModel); _targetModel.IsTargetModel = true; ClearSelectedVertices(); } else { EditingAll = true; //No target model so all is the only option } if (_resetCamera) { ModelPanel.ResetCamera(); SetFrame(0); } else { _resetCamera = true; } OnModelChanged(); if (TargetModelChanged != null) { TargetModelChanged(this, null); } }
private void GetBaseInfluence() { if (_node != null) { modelPanel1.RemoveReference(_node); } MDL0BoneNode[] boneCache = _externalModel._linker.BoneCache; if ((_node = (MDL0ObjectNode)comboBox1.SelectedItem).Weighted) { int least = int.MaxValue; foreach (IMatrixNode inf in _node.Influences) { if (inf is MDL0BoneNode && ((MDL0BoneNode)inf).BoneIndex < least) { least = ((MDL0BoneNode)inf).BoneIndex; } } if (least != int.MaxValue) { MDL0BoneNode temp = boneCache[least]; _baseInf = (IMatrixNode)temp.Parent; } } else { _baseInf = _node.MatrixNode; } if (_baseInf is Influence) { label2.Hide(); comboBox2.Hide(); } else if (_baseInf is MDL0BoneNode) { label2.Show(); comboBox2.Show(); } baseBone.Text = _baseInf.ToString(); if (comboBox3.SelectedIndex == 0 && _baseInf is MDL0BoneNode) { int i = 0; foreach (MDL0BoneNode s in comboBox2.Items) { if (s.Name == baseBone.Text) { comboBox2.SelectedIndex = i; break; } i++; } } _node.IsRendering = true; modelPanel1.ClearTargets(); modelPanel1.AddTarget(_node, false); modelPanel1.SetCamWithBox(_node.GetBox()); }