1 #ifndef DEF_INTERFACECREATION
2 #define DEF_INTERFACECREATION
167 const std::string
BOOL_INFO =
"(True=T=true=t / False=F=false=f)";
Defines the DiffuseMaterial class.
Object3D * createSphere(Material *material)
Interactive creation of a Sphere.
Definition: InterfaceCreation.cpp:150
Object3D * importObject3DFromJson(const json &j)
Object3D conversion from json.
Definition: InterfaceCreation.cpp:215
Material * createDiffuseMaterial(const DoubleVec3D &emittance)
Interactive creation of a DiffuseMaterial.
Definition: InterfaceCreation.cpp:113
Material * createMaterial()
Interactive creation of a Material.
Definition: InterfaceCreation.cpp:129
double getPositiveDoubleFromUser(std::string question="", std::string prompt=PROMPT)
Gets a positive number from the user.
Definition: InterfaceCreation.cpp:70
unsigned int getUnsignedIntFromUser(std::string question="", std::string prompt=PROMPT)
Gets a positive integer from the user.
Definition: InterfaceCreation.cpp:43
const std::string POSITIVE_INT_INFO
Information that is printed when asking a postive integer to the user.
Definition: InterfaceCreation.h:166
int getIntFromUser(std::string question="", std::string prompt=PROMPT)
Gets an integer from the user.
Definition: InterfaceCreation.cpp:25
void to_json(json &j, const Material &mat)
Material conversion to json.
Definition: InterfaceCreation.cpp:189
bool getBoolFromUser(std::string question="", std::string prompt=PROMPT)
Gets a boolean from the user.
Definition: InterfaceCreation.cpp:79
const std::string POSITIVE_DOUBLE_INFO
Information that is printed when asking a postive double to the user.
Definition: InterfaceCreation.h:165
Object3D * createTriangle(Material *material)
Interactive creation of a Triangle.
Definition: InterfaceCreation.cpp:159
Material * importMaterialFromJson(const json &j)
Material conversion from json.
Definition: InterfaceCreation.cpp:193
const std::string BOOL_INFO
Information that is printed when asking a boolean to the user.
Definition: InterfaceCreation.h:167
Object3D * createObject3D()
Interactive creation of an Object3D.
Definition: InterfaceCreation.cpp:170
DoubleVec3D getXYZDoubleVec3DFromUser(std::string question="", std::string prompt=PROMPT)
Gets a vector from the user.
Definition: InterfaceCreation.cpp:93
Material * createRefractiveMaterial(const DoubleVec3D &emittance)
Interactive creation of a RefractiveMaterial.
Definition: InterfaceCreation.cpp:119
double getDoubleFromUser(std::string question="", std::string prompt=PROMPT)
Gets a number from the user.
Definition: InterfaceCreation.cpp:52
std::string getStringFromUser(std::string question="", std::string prompt=PROMPT)
Gets a string from the user.
Definition: InterfaceCreation.cpp:4
Material * createSpecularMaterial(const DoubleVec3D &emittance)
Interactive creation of a SpecularMaterial.
Definition: InterfaceCreation.cpp:125
char getLowerCaseCharFromUser(std::string question="", std::string prompt=PROMPT)
Gets a lowercase character from the user.
Definition: InterfaceCreation.cpp:21
DoubleVec3D getRGBDoubleVec3DFromUser(std::string question="", std::string prompt=PROMPT)
Gets a vector with only positive coordinates from the user.
Definition: InterfaceCreation.cpp:102
const std::string PROMPT
String that signals the user can write a command.
Definition: InterfaceGestion.h:113
nlohmann::json json
Definition: InterfaceGestion.h:14
Defines the RefractiveMaterial class.
Defines the SpecularMaterial class.
Defines the Sphere class.
Defines the Triangle class.
A three-dimensional vector using double values.
Definition: DoubleVec3D.h:190
Abstrat class that models a material.
Definition: Material.h:77
Abstract class for a three-dimentional object.
Definition: Object3D.h:121