@@ -46,6 +46,12 @@ typedef enum {
4646 MGIS_BV_LOCAL_STORAGE = 0 ,
4747 MGIS_BV_EXTERNAL_STORAGE = 1
4848} mgis_bv_MaterialStateManagerStorageMode ;
49+
50+ typedef enum {
51+ MGIS_BV_NO_UPDATE_POLICY = 0 ,
52+ MGIS_BV_UPDATE_POLICY = 1
53+ } mgis_bv_MaterialStateManagerUpdatePolicy ;
54+
4955/*!
5056 * \brief bind the gradients to the given array
5157 * \param[in,out] s: initializer
@@ -155,6 +161,19 @@ mgis_bv_material_state_manager_get_internal_state_variables_stride(
155161MGIS_C_EXPORT mgis_status
156162mgis_bv_material_state_manager_set_uniform_scalar_material_property (
157163 mgis_bv_MaterialStateManager * const , const char * const , const mgis_real );
164+ /*!
165+ * \brief set the value of an uniform scalar material property
166+ * \param[in] s: state manager
167+ * \param[in] n: name of the material property
168+ * \param[in] v: value of the material property
169+ * \param[in] p: update policy
170+ */
171+ MGIS_C_EXPORT mgis_status
172+ mgis_bv_material_state_manager_set_uniform_scalar_material_property2 (
173+ mgis_bv_MaterialStateManager * const ,
174+ const char * const ,
175+ const mgis_real ,
176+ const mgis_bv_MaterialStateManagerUpdatePolicy );
158177/*!
159178 * \brief set the value of an uniform material property
160179 * \param[in] s: state manager
@@ -168,6 +187,21 @@ mgis_bv_material_state_manager_set_uniform_material_property(
168187 const char * const ,
169188 mgis_real * const ,
170189 const mgis_bv_MaterialStateManagerStorageMode );
190+ /*!
191+ * \brief set the value of an uniform material property
192+ * \param[in] s: state manager
193+ * \param[in] n: name of the material property
194+ * \param[in] v: values of the material property
195+ * \param[in] sm: storage mode
196+ * \param[in] p: update policy
197+ */
198+ MGIS_C_EXPORT mgis_status
199+ mgis_bv_material_state_manager_set_uniform_material_property2 (
200+ mgis_bv_MaterialStateManager * const ,
201+ const char * const ,
202+ mgis_real * const ,
203+ const mgis_bv_MaterialStateManagerStorageMode ,
204+ const mgis_bv_MaterialStateManagerUpdatePolicy );
171205/*!
172206 * \brief set the value of an uniform material property
173207 * \param[in] s: state manager
@@ -181,6 +215,21 @@ mgis_bv_material_state_manager_set_non_uniform_material_property(
181215 const char * const ,
182216 mgis_real * const ,
183217 const mgis_bv_MaterialStateManagerStorageMode );
218+ /*!
219+ * \brief set the value of an uniform material property
220+ * \param[in] s: state manager
221+ * \param[in] n: name of the material property
222+ * \param[in] v: values of the material property
223+ * \param[in] sm: storage mode
224+ * \param[in] p: update policy
225+ */
226+ MGIS_C_EXPORT mgis_status
227+ mgis_bv_material_state_manager_set_non_uniform_material_property2 (
228+ mgis_bv_MaterialStateManager * const ,
229+ const char * const ,
230+ mgis_real * const ,
231+ const mgis_bv_MaterialStateManagerStorageMode ,
232+ const mgis_bv_MaterialStateManagerUpdatePolicy );
184233
185234MGIS_C_EXPORT mgis_status
186235mgis_bv_material_state_manager_is_material_property_defined (
@@ -206,6 +255,17 @@ mgis_bv_material_state_manager_get_non_uniform_material_property(
206255MGIS_C_EXPORT mgis_status
207256mgis_bv_material_state_manager_set_uniform_scalar_mass_density (
208257 mgis_bv_MaterialStateManager * const , const mgis_real );
258+ /*!
259+ * \brief set the value of an uniform scalar mass density
260+ * \param[in] s: state manager
261+ * \param[in] v: value of the mass density
262+ * \param[in] p: update policy
263+ */
264+ MGIS_C_EXPORT mgis_status
265+ mgis_bv_material_state_manager_set_uniform_scalar_mass_density2 (
266+ mgis_bv_MaterialStateManager * const ,
267+ const mgis_real ,
268+ const mgis_bv_MaterialStateManagerUpdatePolicy );
209269/*!
210270 * \brief set the value of an uniform mass density
211271 * \param[in] s: state manager
@@ -217,6 +277,19 @@ mgis_bv_material_state_manager_set_non_uniform_mass_density(
217277 mgis_bv_MaterialStateManager * const ,
218278 mgis_real * const ,
219279 const mgis_bv_MaterialStateManagerStorageMode );
280+ /*!
281+ * \brief set the value of an uniform mass density
282+ * \param[in] s: state manager
283+ * \param[in] v: values of the mass density
284+ * \param[in] sm: storage mode
285+ * \param[in] p: update policy
286+ */
287+ MGIS_C_EXPORT mgis_status
288+ mgis_bv_material_state_manager_set_non_uniform_mass_density2 (
289+ mgis_bv_MaterialStateManager * const ,
290+ mgis_real * const ,
291+ const mgis_bv_MaterialStateManagerStorageMode ,
292+ const mgis_bv_MaterialStateManagerUpdatePolicy );
220293
221294MGIS_C_EXPORT mgis_status
222295mgis_bv_material_state_manager_is_mass_density_defined (
@@ -240,20 +313,43 @@ MGIS_C_EXPORT mgis_status
240313mgis_bv_material_state_manager_set_uniform_scalar_external_state_variable (
241314 mgis_bv_MaterialStateManager * const , const char * const , const mgis_real );
242315
316+ MGIS_C_EXPORT mgis_status
317+ mgis_bv_material_state_manager_set_uniform_scalar_external_state_variable2 (
318+ mgis_bv_MaterialStateManager * const ,
319+ const char * const ,
320+ const mgis_real ,
321+ const mgis_bv_MaterialStateManagerUpdatePolicy );
322+
243323MGIS_C_EXPORT mgis_status
244324mgis_bv_material_state_manager_set_uniform_external_state_variable (
245325 mgis_bv_MaterialStateManager * const ,
246326 const char * const ,
247327 mgis_real * const ,
248328 const mgis_bv_MaterialStateManagerStorageMode );
249329
330+ MGIS_C_EXPORT mgis_status
331+ mgis_bv_material_state_manager_set_uniform_external_state_variable2 (
332+ mgis_bv_MaterialStateManager * const ,
333+ const char * const ,
334+ mgis_real * const ,
335+ const mgis_bv_MaterialStateManagerStorageMode ,
336+ const mgis_bv_MaterialStateManagerUpdatePolicy );
337+
250338MGIS_C_EXPORT mgis_status
251339mgis_bv_material_state_manager_set_non_uniform_external_state_variable (
252340 mgis_bv_MaterialStateManager * const ,
253341 const char * const ,
254342 mgis_real * const ,
255343 const mgis_bv_MaterialStateManagerStorageMode );
256344
345+ MGIS_C_EXPORT mgis_status
346+ mgis_bv_material_state_manager_set_non_uniform_external_state_variable2 (
347+ mgis_bv_MaterialStateManager * const ,
348+ const char * const ,
349+ mgis_real * const ,
350+ const mgis_bv_MaterialStateManagerStorageMode ,
351+ const mgis_bv_MaterialStateManagerUpdatePolicy );
352+
257353MGIS_C_EXPORT mgis_status
258354mgis_bv_material_state_manager_is_external_state_variable_defined (
259355 int * const , const mgis_bv_MaterialStateManager * const , const char * const );
0 commit comments