Skip to content
Snippets Groups Projects
Select Git revision
  • 7b3a8cd51b2dca4068ea9abea18fa542543d5dbe
  • master default protected
  • hierarchical-basis-refactor
  • hierarchical-basis
  • revert-ef4a3a4f
  • patch_releases_4_14
  • overlaps_tags_and_distributed_export
  • overlaps_tags_and_distributed_export_rebased
  • relaying
  • alphashapes
  • steplayer
  • bl
  • pluginMeshQuality
  • fixBugsAmaury
  • new_export_boris
  • oras_vs_osm
  • reassign_partitions
  • distributed_fwi
  • rename-classes
  • fix/fortran-api-example-t4
  • robust_partitions
  • gmsh_4_14_0
  • gmsh_4_13_1
  • gmsh_4_13_0
  • gmsh_4_12_2
  • gmsh_4_12_1
  • gmsh_4_12_0
  • gmsh_4_11_1
  • gmsh_4_11_0
  • gmsh_4_10_5
  • gmsh_4_10_4
  • gmsh_4_10_3
  • gmsh_4_10_2
  • gmsh_4_10_1
  • gmsh_4_10_0
  • gmsh_4_9_5
  • gmsh_4_9_4
  • gmsh_4_9_3
  • gmsh_4_9_2
  • gmsh_4_9_1
  • gmsh_4_9_0
41 results

MeshOptCommon.h

Blame
  • MeshOptCommon.h 5.58 KiB
    // MeshOptimizer - Copyright (C) 2013-2019 UCLouvain-ULiege
    //
    // Permission is hereby granted, free of charge, to any person
    // obtaining a copy of this software and associated documentation
    // files (the "Software"), to deal in the Software without
    // restriction, including without limitation the rights to use, copy,
    // modify, merge, publish, distribute, and/or sell copies of the
    // Software, and to permit persons to whom the Software is furnished
    // to do so, provided that the above copyright notice(s) and this
    // permission notice appear in all copies of the Software and that
    // both the above copyright notice(s) and this permission notice
    // appear in supporting documentation.
    //
    // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    // NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE
    // COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR
    // ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY
    // DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
    // WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
    // ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
    // OF THIS SOFTWARE.
    //
    // Contributors: Thomas Toulorge, Jonathan Lambrechts
    
    #ifndef MESH_OPT_COMMON_H
    #define MESH_OPT_COMMON_H
    
    #include <vector>
    #include <list>
    #include "GmshMessage.h"
    #include "MeshOptimizerConfig.h"
    
    class MElement;
    class GEntity;
    class SPoint3;
    class ObjContrib;
    
    // ncurses shortcuts
    void mvinit();
    void mvterminate();
    void mvpause();
    void mvgetScreenSize(int &nbRow, int &nbCol);
    void mvprintCenter(int row, const char *fmt, ...);
    void mvprintLeft(int row, const char *fmt, ...);
    void mvprintRight(int row, const char *fmt, ...);
    void mvprintXY(int row, int col, const char *fmt, ...);
    // color scheme: 0=default, 1=last in yellow back, others in white back, 2=even
    // numbers in white back
    void mvprintList(int row, int maxSize, std::list<char *> listStr,
                     int colorScheme = 0);
    void mvfillRow(int row, char fillWith = ' ');
    void mvbold(bool on);
    void mvcolor(int colorScheme, bool on);
    
    class redirectMessage : public GmshMessage {
    private:
      std::string _logFileName;
      bool _console;
    
    public:
      virtual void operator()(std::string level, std::string message);
      redirectMessage(std::string logFileName, bool console);
    };
    
    class MeshOptPatchDef {
    public:
      enum { STRAT_DISJOINT, STRAT_ONEBYONE };
      int strategy; // Strategy: disjoint patches or adaptive one-by-one