62 void initOptimizationFlags();
63 void setDoCopyBetweenPartialAndPure(
bool v) { m_do_copy_between_partial_and_pure = v; }
64 void setDoInitNewItems(
bool v) { m_do_init_new_items = v; }
65 void setPersistantWorkBuffer(
bool v) { m_is_keep_work_buffer = v; }
71 void addCells(IMeshMaterial* mat, SmallSpan<const Int32> ids);
72 void removeCells(IMeshMaterial* mat, SmallSpan<const Int32> ids);
80 void _addCellsToGroupDirect(IMeshMaterial* mat, SmallSpan<const Int32> ids);
81 void _removeCellsToGroupDirect(IMeshMaterial* mat, SmallSpan<const Int32> ids);
83 void _applyOperationsNoOptimize();
84 void _updateEnvironmentsNoOptimize();
85 bool _checkMayOptimize();
89 MeshMaterialMng* m_material_mng =
nullptr;
90 OperationList m_operations;
92 std::unique_ptr<IncrementalComponentModifier> m_incremental_modifier;
95 Int32 nb_save_restore = 0;
96 Int32 nb_optimize_add = 0;
97 Int32 nb_optimize_remove = 0;
98 Int32 m_modification_id = 0;
100 bool m_allow_optimization =
false;
101 bool m_allow_optimize_multiple_operation =
false;
102 bool m_allow_optimize_multiple_material =
false;
103 bool m_use_incremental_recompute =
false;
104 bool m_print_component_list =
false;
106 bool m_do_copy_between_partial_and_pure =
true;
107 bool m_do_init_new_items =
true;
108 bool m_is_keep_work_buffer =
true;
110 bool m_is_debug =
false;