14 #ifndef TEXTURE_PROPERTIES_H_
15 #define TEXTURE_PROPERTIES_H_
21 namespace tinyxml2 {
class XMLElement; }
30 void parse (
const tinyxml2::XMLElement* elem);
39 bool getProperty(
const std::string& name,
const Vec3& X,
double& val)
const;
General functions with arbitrary argument and value type.
Global algebraic operations on index 1-based matrices and vectors.
Class to use a property as a function.
Definition: TextureProperties.h:59
std::string m_prop
Name of property.
Definition: TextureProperties.h:81
double evaluate(const Vec3 &X) const override
Evaluate function in a point.
Definition: TextureProperties.h:73
virtual ~PropertyFunc()
Empty destructor.
Definition: TextureProperties.h:69
PropertyFunc(const std::string &prop, const TextureProperties &props)
Constructor initializes the members.
Definition: TextureProperties.h:64
const TextureProperties & m_props
Texture properties container.
Definition: TextureProperties.h:82
Scalar-valued unary function of a spatial point.
Definition: Function.h:193
Class containing a set of properties defined through a texture map.
Definition: TextureProperties.h:26
bool hasProperty(const std::string &name) const
Check if a property is available.
Definition: TextureProperties.C:125
bool getProperty(const std::string &name, const Vec3 &X, double &val) const
Get value for a property.
Definition: TextureProperties.C:99
void printLog() const
Print property information to log.
Definition: TextureProperties.C:90
std::map< std::string, Property > properties
Map of available properties.
Definition: TextureProperties.h:54
void parse(const tinyxml2::XMLElement *elem)
Parse an XML definition. param elem XML element to parse.
Definition: TextureProperties.C:25
Simple class for representing a point in 3D space.
Definition: Vec3.h:27
Struct holding information about a property.
Definition: TextureProperties.h:47
bool prescaled
True if data is already scaled.
Definition: TextureProperties.h:51
Matrix3D textureData
Texture data.
Definition: TextureProperties.h:50
double max
Maximum value.
Definition: TextureProperties.h:49
double min
Minimum value.
Definition: TextureProperties.h:48