1 #ifndef OPENSIM_MODEL_VISUAL_PREFERENCES_H_
2 #define OPENSIM_MODEL_VISUAL_PREFERENCES_H_
3 /* -------------------------------------------------------------------------- *
4  *                   OpenSim:  ModelVisualPreferences.h                       *
5  * -------------------------------------------------------------------------- *
6  * The OpenSim API is a toolkit for musculoskeletal modeling and simulation.  *
7  * See http://opensim.stanford.edu and the NOTICE file for more information.  *
8  * OpenSim is developed at Stanford University and supported by the US        *
9  * National Institutes of Health (U54 GM072970, R24 HD065690) and by DARPA    *
10  * through the Warrior Web program.                                           *
11  *                                                                            *
12  * Copyright (c) 2005-2017 Stanford University and the Authors                *
13  * Author(s): Ayman Habib                                                     *
14  *                                                                            *
15  * Licensed under the Apache License, Version 2.0 (the "License"); you may    *
16  * not use this file except in compliance with the License. You may obtain a  *
17  * copy of the License at http://www.apache.org/licenses/LICENSE-2.0.         *
18  *                                                                            *
19  * Unless required by applicable law or agreed to in writing, software        *
20  * distributed under the License is distributed on an "AS IS" BASIS,          *
21  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   *
22  * See the License for the specific language governing permissions and        *
23  * limitations under the License.                                             *
24  * -------------------------------------------------------------------------- */
25 
26 
27 // INCLUDE
28 #include <OpenSim/Simulation/osimSimulationDLL.h>
29 #include <OpenSim/Common/ModelDisplayHints.h>
30 
31 namespace OpenSim {
32 
33 class Body;
34 class Model;
35 
36 
37 //=============================================================================
38 //=============================================================================
39 /**
40  A class that holds the Visual Preferences of a full OpenSim Model
41  displayed in Visualizer. Initially these are serializable ModelDisplayHints
42  but in the future can be expanded to include search paths for Mesh files,
43  Texture, Renderer preferences, lights, cameras etc. attached to Model.
44 
45  * @author Ayman Habib
46  * @version 1.0
47  */
48 class OSIMSIMULATION_API ModelVisualPreferences : public Object {
49     OpenSim_DECLARE_CONCRETE_OBJECT(ModelVisualPreferences, Object);
50 public:
51     //==========================================================================
52     // PROPERTIES
53     //==========================================================================
54     OpenSim_DECLARE_UNNAMED_PROPERTY(ModelDisplayHints,
55         "Model display preferences");
56 
57     //--------------------------------------------------------------------------
58     // CONSTRUCTION
59     //--------------------------------------------------------------------------
60 public:
ModelVisualPreferences()61     ModelVisualPreferences() {
62         constructProperties();
63     }
~ModelVisualPreferences()64     virtual ~ModelVisualPreferences() {};
65 
66 private:
constructProperties()67     void constructProperties() {
68         constructProperty_ModelDisplayHints(ModelDisplayHints());
69     }
70 //=============================================================================
71 };  // END of class ModelVisualPreferences
72 //=============================================================================
73 //=============================================================================
74 
75 } // end of namespace OpenSim
76 
77 #endif // OPENSIM_MODEL_VISUAL_PREFERENCES_H_
78 
79 
80