46 using ints = std::vector<int>;
47 using uints = std::vector<unsigned int>;
57 using StringMap = std::map<std::string, std::string>;
61 using bools = std::vector<bool>;
63 using strings = std::vector<std::string>;
65 using Vector3dm = std::map<uint64_t, core::Vector3d>;
69 using uint8_ts = std::vector<uint8_t>;
81 class ActionInterface;
200 static const char* ENGINE_OSPRAY =
"ospray";
201 static const char* ENGINE_OPTIX_6 =
"optix6";
231 static const size_t NO_MATERIAL = std::numeric_limits<size_t>::max();
232 static const size_t BOUNDINGBOX_MATERIAL_ID = NO_MATERIAL - 1;
233 static const size_t SECONDARY_MODEL_MATERIAL_ID = NO_MATERIAL - 2;
234 static const size_t VOLUME_MATERIAL_ID = NO_MATERIAL - 3;
235 static const size_t VOLUME_OCTREE_INDICES_MATERIAL_ID = NO_MATERIAL - 4;
236 static const size_t VOLUME_OCTREE_VALUES_MATERIAL_ID = NO_MATERIAL - 5;
237 static const size_t FIELD_MATERIAL_ID = NO_MATERIAL - 6;
239 static const std::string IRRADIANCE_MAP =
"-irradiance";
240 static const std::string RADIANCE_MAP =
"-radiance";
241 static const std::string BRDF_LUT =
"-brdfLUT";
263 static const strings textureTypeToString{
"albedoMetallic_map",
264 "normalRoughness_map",
276 "transfer_function_map",
277 "octree_indices_map",
278 "octree_values_map"};
308 using Plane = std::array<double, 4>;
331 using TaskPtr = std::shared_ptr<AbstractTask>;
356 class PropertyObject;
376 const Execution type_,
const std::string& paramName_,
const std::string& paramDescription_)
384 const std::string& paramName_,
const std::string& paramDescription_)
405 inline std::vector<std::pair<std::string, GeometryQuality>>
enumMap()
411 inline std::vector<std::pair<std::string, DataType>>
enumMap()
437 static const float DEFAULT_GEOMETRY_SDF_EPSILON = 0.0001f;
438 static const uint32_t DEFAULT_GEOMETRY_SDF_NB_MARCH_ITERATIONS = 32;
439 static const float DEFAULT_GEOMETRY_SDF_BLEND_FACTOR = 0.4;
440 static const float DEFAULT_GEOMETRY_SDF_BLEND_LERP_FACTOR = 0.2;
441 static const float DEFAULT_GEOMETRY_SDF_OMEGA = 1.0f;
442 static const float DEFAULT_GEOMETRY_SDF_DISTANCE = 250.f;
The AbstractSimulationHandler class handles simulation frames for the current circuit.
A volume type where the voxels are copied for each added brick.
The Camera class is an abstract interface for a camera in a 3D graphics application....
Provides an abstract implementation of a ray-tracing engine.
A field is volume in which voxels are computed in real-time using a pre-loaded Octree structure of ev...
This class represents a frame buffer for an engine specific code. It provides an API for utilizing an...
The KeyboardHandler class manages keyboard shortcuts and special keys.
The Light class defines the common base class for all lights.
The class that represents the material object. This class is derived from PropertyObject and provides...
The ModelDescriptor struct defines the metadata attached to a model.Model descriptor are exposed via ...
A class representing an instance of a 3D model.
The ModelParams class represents the parameters needed for initializing a model instance.
The abstract Model class holds the geometry attached to an asset of the scene (mesh,...
Renderer class inherits from PropertyObject class The Renderer class has methods to render a FrameBuf...
Scene object This object contains collections of geometries, materials and light sources that are use...
A base class for volumes.
std::vector< Transformation > Transformations
std::shared_ptr< Camera > CameraPtr
std::map< size_t, Cones > ConesMap
std::map< size_t, StreamlinesData > StreamlinesDataMap
std::map< std::string, std::string > ModelMetadata
std::shared_ptr< Volume > VolumePtr
std::vector< ModelDescriptorPtr > ModelDescriptors
std::vector< Cylinder > Cylinders
std::map< size_t, MaterialPtr > MaterialMap
std::shared_ptr< BrickedVolume > BrickedVolumePtr
std::map< std::string, Texture2DPtr > TexturesMap
std::shared_ptr< Light > LightPtr
std::shared_ptr< ClipPlane > ClipPlanePtr
std::map< size_t, Curves > CurvesMap
std::shared_ptr< AbstractSimulationHandler > AbstractSimulationHandlerPtr
glm::vec< 2, int32_t > Vector2i
std::shared_ptr< SharedDataVolume > SharedDataVolumePtr
std::shared_ptr< Texture2D > Texture2DPtr
std::map< size_t, FieldPtr > FieldsMap
std::shared_ptr< SpotLight > SpotLightPtr
glm::vec< 3, double > Vector3d
std::shared_ptr< Renderer > RendererPtr
std::shared_ptr< FrameBuffer > FrameBufferPtr
std::shared_ptr< SphereLight > SphereLightPtr
std::vector< Curve > Curves
std::map< size_t, Cylinders > CylindersMap
std::shared_ptr< Scene > ScenePtr
std::vector< OctreeVector > OctreeVectors
std::map< size_t, TriangleMesh > TriangleMeshMap
std::vector< ClipPlanePtr > ClipPlanes
std::vector< Sphere > Spheres
std::shared_ptr< ModelDescriptor > ModelDescriptorPtr
std::vector< Plane > Planes
std::shared_ptr< Field > FieldPtr
std::map< size_t, Spheres > SpheresMap
std::map< size_t, VolumePtr > VolumesMap
glm::tquat< double, glm::highp > Quaterniond
Double quaternion.
std::unique_ptr< Loader > LoaderPtr
std::vector< std::pair< std::string, GeometryQuality > > enumMap()
std::shared_ptr< ActionInterface > ActionInterfacePtr
std::shared_ptr< AbstractTask > TaskPtr
std::shared_ptr< Engine > EnginePtr
std::vector< OctreePoint > OctreePoints
std::vector< ModelInstance > ModelInstances
std::shared_ptr< DirectionalLight > DirectionalLightPtr
std::vector< Cone > Cones
std::unique_ptr< Model > ModelPtr
std::shared_ptr< QuadLight > QuadLightPtr
std::vector< LightPtr > Lights
std::shared_ptr< Material > MaterialPtr
std::array< double, 4 > Plane
FrameBufferFormat colorBufferFormat
std::string methodDescription
RpcParameterDescription(const std::string &methodName_, const std::string &methodDescription_, const std::string ¶mName_, const std::string ¶mDescription_)
std::string paramDescription
RpcParameterDescription(const std::string &methodName_, const std::string &methodDescription_, const Execution type_, const std::string ¶mName_, const std::string ¶mDescription_)