| 864 | } |
| 865 | |
| 866 | THolder<IModelTreeData> TSolidModelTree::Clone(ECloningPolicy policy) const { |
| 867 | switch (policy) { |
| 868 | case ECloningPolicy::CloneAsOpaque: { |
| 869 | auto holder = MakeHolder<TOpaqueModelTree>(); |
| 870 | holder->LeafValues = TConstArrayRef<double>(LeafValues.data(), LeafValues.size()); |
| 871 | holder->LeafWeights = TConstArrayRef<double>(LeafWeights.data(), LeafWeights.size()); |
| 872 | holder->NonSymmetricNodeIdToLeafId = TConstArrayRef<ui32>(NonSymmetricNodeIdToLeafId.data(), NonSymmetricNodeIdToLeafId.size()); |
| 873 | holder->NonSymmetricStepNodes = TConstArrayRef<TNonSymmetricTreeStepNode>(NonSymmetricStepNodes.data(), NonSymmetricStepNodes.size()); |
| 874 | holder->TreeSizes = TConstArrayRef<int>(TreeSizes.data(), TreeSizes.size()); |
| 875 | holder->TreeSplits = TConstArrayRef<int>(TreeSplits.data(), TreeSplits.size()); |
| 876 | holder->TreeStartOffsets = TConstArrayRef<int>(TreeStartOffsets.data(), TreeStartOffsets.size()); |
| 877 | return holder; |
| 878 | } |
| 879 | default: |
| 880 | return MakeHolder<TSolidModelTree>(*this); |
| 881 | } |
| 882 | } |
| 883 | |
| 884 | void TSolidModelTree::SetTreeSplits(const TVector<int> &v) { |
| 885 | TreeSplits = v; |
no test coverage detected