/// <summary> /// Creates a new object that is a copy of the current instance. /// </summary> /// <returns> /// A new object that is a copy of this instance. /// </returns> public object Clone() { HaarFeatureNode[][] newTrees = new HaarFeatureNode[Trees.Length][]; for (int i = 0; i < newTrees.Length; i++) { HaarFeatureNode[] tree = Trees[i]; HaarFeatureNode[] newTree = newTrees[i] = new HaarFeatureNode[tree.Length]; for (int j = 0; j < newTree.Length; j++) newTree[j] = (HaarFeatureNode)tree[j].Clone(); } HaarCascadeStage r = new HaarCascadeStage(); r.NextIndex = NextIndex; r.ParentIndex = ParentIndex; r.Threshold = Threshold; r.Trees = newTrees; return r; }
/// <summary> /// Creates a new object that is a copy of the current instance. /// </summary> /// <returns> /// A new object that is a copy of this instance. /// </returns> /// public object Clone() { HaarFeatureNode r = new HaarFeatureNode(); r.Feature = (HaarFeature)Feature.Clone(); r.Threshold = Threshold; r.RightValue = RightValue; r.LeftValue = LeftValue; r.LeftNodeIndex = leftNodeIndex; r.RightNodeIndex = rightNodeIndex; return r; }