API Documentation
Loading...
Searching...
No Matches
Project.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------------------------
2Copyright (c) 2019, NDEVR LLC
3tyler.parke@ndevr.org
4 __ __ ____ _____ __ __ _______
5 | \ | | | __ \ | ___|\ \ / / | __ \
6 | \ | | | | \ \ | |___ \ \ / / | |__) |
7 | . \| | | |__/ / | |___ \ V / | _ /
8 | |\ |_|_____/__|_____|___\_/____| | \ \
9 |__| \__________________________________| \__\
10
11Subject to the terms of the Enterprise+ Agreement, NDEVR hereby grants
12Licensee a limited, non-exclusive, non-transferable, royalty-free license
13(without the right to sublicense) to use the API solely for the purpose of
14Licensee's internal development efforts to develop applications for which
15the API was provided.
16
17The above copyright notice and this permission notice shall be included in all
18copies or substantial portions of the Software.
19
20THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
21INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
22PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
23FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
24OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25DEALINGS IN THE SOFTWARE.
26
27Library: Design
28File: Project
29Included in API: True
30Author(s): Tyler Parke
31 *-----------------------------------------------------------------------------------------**/
32#pragma once
33#include <NDEVR/Model.h>
34namespace NDEVR
35{
36 /**--------------------------------------------------------------------------------------------------
37 \brief A Model which represents a user-project. A project is a series of Scenes grouped together within
38 a software session. Typically there will only ever be one project in a software session.
39 *-----------------------------------------------------------------------------------------------**/
41 {
42 public:
45 Project(const Model& model);
46 void setup();
47 void setIsTemp(bool is_temp);
48 bool isTemp() const;
58 void setProjectName(const String& name);
59 bool hasBeenSaved() const;
63 static constexpr const char* TypeName() {return "project"; }
64 protected:
65
66 };
67
68}
69
70
71
#define NDEVR_DESIGN_API
Definition DLLInfo.h:77
The primary angle storage class for this API. Stores an angle in an optimized format.
Definition StringStream.h:408
Logic for reading or writing to a file as well as navigating filesystems.
Definition File.h:48
A core class that represents a node on model heirarchy. This node may contain a Geometry or.
Definition Model.h:58
A Model which represents a user-project. A project is a series of Scenes grouped together within.
Definition Project.h:41
Project(const TranslatedString &name)
void setToTempDefaultPath()
static String TempIdentifier()
void setToDefaultPath()
Project(const Model &model)
Angle< fltp08 > magneticDeclination() const
bool hasBeenSaved() const
static File DefaultTempFolder()
void setIsTemp(bool is_temp)
File defaultFile()
void setProjectName(const String &name)
void setProjectionID(UUID id)
void setMagneticDeclination(const Angle< fltp08 > &angle)
bool isTemp() const
File currentProjectFile()
static File DefaultFolder()
UUID projectionID() const
File defaultTempFile()
static constexpr const char * TypeName()
Definition Project.h:63
The root Model that is responsible for storing the underlying data for all Scene Models.
Definition Model.h:492
The core String class for the software.
Definition String.h:47
Any text displayed to the user should be defined as a TranslatedString which allows the.
Definition TranslatedString.h:13
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:62
Definition ACIColor.h:37