/// <summary> /// Get the name of the current model. /// </summary> public static string GetCurrent() { unsafe { byte *nameptr; Gmsh_Warp.GmshModelGetCurrent(&nameptr, ref Gmsh._staticreff); var array = UnsafeHelp.ToString(nameptr); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); return(array); } }
/// <summary> /// Set one or more parameters in the ONELAB database, encoded in `format'. /// </summary> public static string Get(string name = "", string format = "json") { unsafe { byte *data_ptr; Gmsh_Warp.GmshOnelabGet(&data_ptr, name, format, ref Gmsh._staticreff); var data = UnsafeHelp.ToString(data_ptr); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); return(data); } }
/// <summary> /// Get the type of the entity of dimension `dim' and tag `tag'. /// </summary> public static string GetType(int dim, int tag) { unsafe { byte *entityTypeptr; Gmsh_Warp.GmshModelGetType(dim, tag, &entityTypeptr, ref Gmsh._staticreff); var typename = UnsafeHelp.ToString(entityTypeptr); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); return(typename); } }
/// <summary> /// Get the name of the physical group of dimension `dim' and tag `tag'. /// </summary> public static string GetPhysicalName(int dim, int tag) { unsafe { byte *nameptr; Gmsh_Warp.GmshModelGetPhysicalName(dim, tag, &nameptr, ref Gmsh._staticreff); var name = UnsafeHelp.ToString(nameptr); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); return(name); } }
/// <summary> /// Get the `value' of a string option. `name' is of the form "category.option" /// or "category[num].option". Available categories and options are listed in /// the Gmsh reference manual. /// </summary> public static string GetString(string name) { unsafe { byte *valueptr; Gmsh_Warp.GmshOptionGetString(name, &valueptr, ref Gmsh._staticreff); var value = UnsafeHelp.ToString(valueptr); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); return(value); } }
/// <summary> /// Get the value of the string parameter `name' from the ONELAB database. /// Return an empty vector if the parameter does not exist. /// </summary> public static string[] GetString(string name) { unsafe { byte **valueptr; long value_n = 0; Gmsh_Warp.GmshOnelabGetString(name, &valueptr, ref value_n, ref Gmsh._staticreff); var value = UnsafeHelp.ToString(valueptr, value_n); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); return(value); } }
/// <summary> /// List the names of all models. /// </summary> public static string[] List() { unsafe { byte **names_ptr; long name_n = 0; Gmsh_Warp.GmshModelList(&names_ptr, ref name_n, ref Gmsh._staticreff); var names = UnsafeHelp.ToString(names_ptr, name_n); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); return(names); } }
/// <summary> /// Get list-based post-processing data strings (2D strings if `dim' = 2, 3D /// strings if `dim' = 3) from the view with tag `tag'. Return the coordinates /// in `coord', the strings in `data' and the styles in `style'. /// </summary> public static void GetListDataStrings(int tag, int dim, out double[] coord, out string[] data, out string[] style) { unsafe { double *coord_ptr; long coord_n = 0; byte ** data_ptr; long data_n = 0; byte ** style_ptr; long style_n = 0; Gmsh_Warp.GmshViewGetListDataStrings(tag, dim, &coord_ptr, ref coord_n, &data_ptr, ref data_n, &style_ptr, ref style_n, ref Gmsh._staticreff); coord = UnsafeHelp.ToDoubleArray(coord_ptr, coord_n); data = UnsafeHelp.ToString(data_ptr, data_n); style = UnsafeHelp.ToString(style_ptr, style_n); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); } }
/// <summary> /// Get logged messages. /// </summary> public static string[] Get() { unsafe { byte **errorptr; long log_n = 0; Gmsh_Warp.GmshLoggerGet(&errorptr, ref log_n, ref _staticreff); var messages = UnsafeHelp.ToString(errorptr, log_n); if (_staticreff != 0) { var method = MethodBase.GetCurrentMethod(); var where = $"{method.DeclaringType.FullName}.{method.Name}"; throw new GmshException("Could not get", where, _staticreff); } return(messages); } }
/// <summary> /// Add homogeneous model-based post-processing data to the view with tag `tag'. /// The arguments have the same meaning as in `addModelData', except that `data' /// is supposed to be homogeneous and is thus flattened in a single vector. For /// data types that can lead to different data sizes per tag (like /// "ElementNodeData"), the data should be padded. /// </summary> public static void GetListData(int tag, out string[] dataType, out int[] numElements, out double[][] data) { unsafe { byte ** dataType_ptr; long dataType_n = 0; int * numElements_ptr; long numElements_n = 0; double **data_ptr; long * data_n_ptr; long data_nn = 0; Gmsh_Warp.GmshViewGetListData(tag, &dataType_ptr, ref dataType_n, &numElements_ptr, ref numElements_n, &data_ptr, &data_n_ptr, ref data_nn, ref Gmsh._staticreff); dataType = UnsafeHelp.ToString(dataType_ptr, dataType_n); numElements = UnsafeHelp.ToIntArray(numElements_ptr, numElements_n); data = UnsafeHelp.ToDoubleArray(data_ptr, data_n_ptr, data_nn); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); } }
/// <summary> /// Add homogeneous model-based post-processing data to the view with tag `tag'. /// The arguments have the same meaning as in `addModelData', except that `data' /// is supposed to be homogeneous and is thus flattened in a single vector. For /// data types that can lead to different data sizes per tag (like /// "ElementNodeData"), the data should be padded. /// </summary> public static void GetModelData(int tag, int step, out string dataType, out long[] tags, out double[][] data, out double time, out int numComponents) { unsafe { byte * dataType_ptr; long * tags_ptr; long tags_n = 0; double **data_ptr; long * data_n_ptr; long data_nn = 0; time = 0; numComponents = 0; Gmsh_Warp.GmshViewGetModelData(tag, step, &dataType_ptr, &tags_ptr, ref tags_n, &data_ptr, &data_n_ptr, ref data_nn, ref time, ref numComponents, ref Gmsh._staticreff); dataType = UnsafeHelp.ToString(dataType_ptr); tags = UnsafeHelp.ToLongArray(tags_ptr, tags_n); data = UnsafeHelp.ToDoubleArray(data_ptr, data_n_ptr, data_nn); Gmsh.CheckException(MethodBase.GetCurrentMethod().MethodHandle); } }