using System.Collections.Generic; namespace NGS.MeshFusionPro; public class StaticObjectsCombiner : ObjectsCombiner { private ICombinedMeshFactory _factory; private StaticCombinedObjectMatcher _matcher; private int _vertexLimit; public StaticObjectsCombiner(ICombinedMeshFactory factory, int vertexLimit) { _factory = factory; _matcher = new StaticCombinedObjectMatcher(vertexLimit); _vertexLimit = vertexLimit; } public override void AddSource(CombineSource source) { if (source.CombineInfo.vertexCount < _vertexLimit) { base.AddSource(source); } } protected override void CombineSources(CombinedObject root, IList sources) { root.Combine(sources); } protected override CombinedObject CreateCombinedObject(CombineSource source) { return CombinedObject.Create(_factory, source.RendererSettings); } protected override CombinedObjectMatcher GetMatcher() { return _matcher; } }