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 checkBox1_CheckedChanged(object sender, EventArgs e) { modelPanel1.ClearTargets(); _mergeModels = checkBox1.Checked; if (_mergeModels) { label1.Hide(); comboBox1.Hide(); _baseInf = _externalModel._linker.BoneCache[0]; baseBone.Text = _baseInf.ToString(); modelPanel1.AddTarget(_externalModel, false); modelPanel1.SetCamWithBox(_externalModel.GetBox()); } else { label1.Show(); comboBox1.Show(); GetBaseInfluence(); } }
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()); }
private void checkBox1_CheckedChanged(object sender, EventArgs e) { modelPanel1.ClearTargets(); _mergeModels = checkBox1.Checked; if (_mergeModels) { label1.Hide(); comboBox1.Hide(); _baseInf = (IMatrixNode)_externalModel._linker.BoneCache[0]; baseBone.Text = _baseInf.ToString(); modelPanel1.AddTarget(_externalModel); Vector3 min, max; _externalModel.GetBox(out min, out max); modelPanel1.SetCamWithBox(min, max); } else { label1.Show(); comboBox1.Show(); GetBaseInfluence(); } }