This file is indexed.

/usr/include/trilinos/Settings.hpp is in libtrilinos-dev 10.4.0.dfsg-1ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/* ***************************************************************** 
    MESQUITE -- The Mesh Quality Improvement Toolkit

    Copyright 2007 Sandia National Laboratories.  Developed at the
    University of Wisconsin--Madison under SNL contract number
    624796.  The U.S. Government and the University of Wisconsin
    retain certain rights to this software.

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License 
    (lgpl.txt) along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

    (2009) kraftche@cae.wisc.edu    

  ***************************************************************** */


/** \file Settings.hpp
 *  \brief 
 *  \author Jason Kraftcheck 
 */

#ifndef MSQ_SETTINGS_HPP
#define MSQ_SETTINGS_HPP

#include "Mesquite.hpp"
#include <stdlib.h> // for size_t

namespace MESQUITE_NS {

class MappingFunction;
class MappingFunction2D;
class MappingFunction3D;
struct SettingData;

class MESQUITE_EXPORT Settings {
  public:
      //! Initialize to default settings.
    Settings();
      //! Copy existing settings
    Settings( const Settings& other );
    ~Settings();
      //! Copy existing settings.
    Settings& operator=( const Settings& other );
  
      //! Set the mapping function for a single element topology.
    void set_mapping_function( const MappingFunction* func );
    void set_mapping_function( const MappingFunction2D* func );
    void set_mapping_function( const MappingFunction3D* func );
      //! Set the mapping function for one or more element topologies.
    void set_mapping_functions( const MappingFunction* const array[], size_t array_size );
    void set_mapping_functions( const MappingFunction2D* const array[], size_t array_size );
    void set_mapping_functions( const MappingFunction3D* const array[], size_t array_size );
      //! Get the mapping function for an element topology.
    const MappingFunction* get_mapping_function( EntityTopology element_type ) const;
    const MappingFunction2D* get_mapping_function_2D( EntityTopology element_type ) const;
    const MappingFunction3D* get_mapping_function_3D( EntityTopology element_type ) const;
    
    enum FixedVertexMode { 
      FIXED_FLAG = 4,   //!< Ask application which vertices are fixed by
                        //!< calling Mesh::vertices_get_fixed_flag
      FIXED_VERTEX = 0, //!< Treat all vertices for which the mesh domain
                        //!< is topologically 0-dimensional as fixed.
      FIXED_CURVE = 1,  //!< Treat all vertices for which the mesh domain
                        //!< is topologically 1-dimensional as fixed.
      FIXED_SURFACE = 2 //!< Treat all vertices for which the corresponding
                        //!< mesh domain has a topological dimension *less than*
                        //!< or equal to 2 as fixed.
    };
      //! Change how Mesquite determines which vertices are fixed.
    void set_fixed_vertex_mode( FixedVertexMode mode );
      //! Get the setting for how Mesquite determines which vertices are fixed.
    FixedVertexMode get_fixed_vertex_mode() const;
    
    enum HigherOrderSlaveMode { 
      SLAVE_NONE,       //!< All higher-order nodes are treated either
                        //!< as fixed or as free variables in the optimization.
 
      SLAVE_ALL,        //!< Treat all non-fixed higher-order nodes as slave 
                        //!< vertices.  The node location will be updated 
                        //!< automatically to the position of the mapping 
                        //!< function evaluated at the logical location of 
                        //!< the node evaluated as if the element did not 
                        //!< contain the node.

      SLAVE_CALCULATED, //!< A utility (e.g. SlaveBoundaryVertices) will be 
                        //!< inserted into the instruction queue that will 
                        //!< determine which vertices are slaved and store 
                        //!< that state as the appropriate bit in the vertex
                        //!< byte.

      SLAVE_FLAG        //!< The results of a call to Mesh::vertices_get_slaved_flag
                        //!< will be used to establish free vs. slaved.
    };
    
      //! Set the slaved higher-order node setting.
    void set_slaved_ho_node_mode( HigherOrderSlaveMode mode );
      //! Get the slaved higher-order node setting.
    HigherOrderSlaveMode get_slaved_ho_node_mode() const;

      /**\brief Generate SIGFPE whenever a floating point exception occurs
       *
       * Generate a FPE signal when overflow, divbyzero, etc. occur
       * during floating-point arithmatic.  This is intended for debugging
       * purposes only, as enabling this will typically result in a 
       * crash when such arithmatic errors occur.
       *
       * If this option is enabled, Mesquite will attempt to set 
       * platform-specific flags such that a SIGFPE is generated for
       * floating point errors while the instruction queue is running.
       * If this option ins disabled, Mesquite will not change the
       * flags.  There is no option to explicitly disable such flags
       * because that is the default behavior on most platforms, and
       * presumably if the application has enabled such flags it makes
       * little sense to disable them while Mesquite is running.
       *
       * This functionality may not be supported on all platforms.  If
       * it is not supported, this option has no effect.
       */
    void trap_floating_point_exception( bool enable );
    bool trap_floating_point_exception() const;

  private:
  
    SettingData* mData;
};


} // namespace Mesquite

#endif