37class MeshMaterialModifierImpl
52 void add(Operation* o);
67 void initOptimizationFlags();
68 void setDoCopyBetweenPartialAndPure(
bool v) { m_do_copy_between_partial_and_pure = v; }
69 void setDoInitNewItems(
bool v) { m_do_init_new_items = v; }
70 void setPersistantWorkBuffer(
bool v) { m_is_keep_work_buffer = v; }
76 void addCells(IMeshMaterial* mat, SmallSpan<const Int32> ids);
77 void removeCells(IMeshMaterial* mat, SmallSpan<const Int32> ids);
85 void _addCellsToGroupDirect(IMeshMaterial* mat, SmallSpan<const Int32> ids);
86 void _removeCellsToGroupDirect(IMeshMaterial* mat, SmallSpan<const Int32> ids);
88 void _applyOperationsNoOptimize();
89 void _updateEnvironmentsNoOptimize();
90 bool _checkMayOptimize();
94 MeshMaterialMng* m_material_mng =
nullptr;
95 OperationList m_operations;
97 std::unique_ptr<IncrementalComponentModifier> m_incremental_modifier;
100 Int32 nb_save_restore = 0;
101 Int32 nb_optimize_add = 0;
102 Int32 nb_optimize_remove = 0;
103 Int32 m_modification_id = 0;
105 bool m_allow_optimization =
false;
106 bool m_allow_optimize_multiple_operation =
false;
107 bool m_allow_optimize_multiple_material =
false;
108 bool m_use_incremental_recompute =
false;
109 bool m_print_component_list =
false;
111 bool m_do_copy_between_partial_and_pure =
true;
112 bool m_do_init_new_items =
true;
113 bool m_is_keep_work_buffer =
true;
115 bool m_is_debug =
false;