Radium Engine  1.5.0
VolumeData.hpp
1 #pragma once
2 
3 #include <Core/Asset/AssetData.hpp>
4 #include <Core/Types.hpp>
5 #include <Core/Utils/Color.hpp>
6 
7 namespace Ra {
8 namespace Core {
9 namespace Geometry {
10 class AbstractVolume;
11 } // namespace Geometry
12 
13 namespace Asset {
14 
18 struct VolumeData : public AssetData {
19  inline VolumeData( const std::string& name = "" ) : AssetData( name ) {}
23  Utils::Color sigma_a { 0.0011_ra, 0.0024_ra, 0.014_ra };
25  Utils::Color sigma_s { 2.55_ra, 3.21_ra, 3.77_ra };
26 
28  Aabb boundingBox { Vector3 { 0_ra, 0_ra, 0_ra }, Vector3 { 1_ra, 1_ra, 1_ra } };
31  Transform densityToModel { Transform::Identity() };
33  Transform modelToWorld { Transform::Identity() };
34 };
35 
36 } // namespace Asset
37 } // namespace Core
38 } // namespace Ra
AssetData(const std::string &name)
Construct an asset data given its name.
Definition: AssetData.hpp:20
Definition: Cage.cpp:3
Aabb boundingBox
The bounding box of the volume.
Definition: VolumeData.hpp:28
Geometry::AbstractVolume * volume
The underlaying density matrix.
Definition: VolumeData.hpp:21
Transform modelToWorld
Transformation matrix of the object.
Definition: VolumeData.hpp:33
Utils::Color sigma_a
Absortion coefficient of the volume (default is Air)
Definition: VolumeData.hpp:23
Utils::Color sigma_s
Scattering coefficient of the volume (default is Air)
Definition: VolumeData.hpp:25