105 if (!data.isValid()) {
118 string nfmAttrData(
"NullFieldMapping has no data");
131 string nfmAttrData(
"NullFieldMapping has no data");
140 return k_nullMappingName;
160 mm->setLocalToWorld(
mtx);
180 for (
int i = 0;
i < numSamples; ++
i) {
224 for (
int i = 0;
i < numSamples; ++
i) {
230 if (!
time.isValid()) {
237 if (!
mtx.isValid()) {
241 mm->setLocalToWorld(
time.value(),
mtx.value());
264 const SampleVec &samples =
mm->localToWorldSamples();
265 int numSamples =
static_cast<int>(samples.size());
275 for (
int i = 0;
i < numSamples; ++
i) {
311 const SampleVec &samples =
mm->localToWorldSamples();
312 const int numSamples =
static_cast<int>(samples.size());
319 for (
int i = 0;
i < numSamples; ++
i) {
336 return k_matrixMappingName;
366 for (
int i = 0;
i < numSamples; ++
i) {
406 fm->setZDistribution(
dist);
436 for (
int i = 0;
i < numSamples; ++
i) {
444 if (!
time.isValid()) {
453 if (!
ssMtx.isValid()) {
457 if (!
csMtx.isValid()) {
473 if (!
zDist.isValid()) {
483 fm->setZDistribution(
dist);
505 const SampleVec &
ssSamples =
fm->screenToWorldSamples();
506 const SampleVec &
csSamples =
fm->cameraToWorldSamples();
507 int numSamples =
static_cast<int>(
ssSamples.size());
517 for (
int i = 0;
i < numSamples; ++
i) {
543 int dist =
static_cast<int>(
fm->zDistribution());
566 "Couldn't get FrustumFieldMapping from pointer");
572 const SampleVec &
ssSamples =
fm->screenToWorldSamples();
573 const SampleVec &
csSamples =
fm->cameraToWorldSamples();
574 const int numSamples =
static_cast<int>(
ssSamples.size());
581 for (
int i = 0;
i < numSamples; ++
i) {
583 boost::lexical_cast<string>(
i);
585 boost::lexical_cast<string>(
i);
587 boost::lexical_cast<string>(
i);
596 int dist =
static_cast<int>(
fm->zDistribution());
607 return k_frustumMappingName;
Contains the FieldMappingIO base class and the NullFieldMappingIO and MatrixFieldMappingIO subclasses...
Contains various utility functions for Hdf5.
std::vector< Sample > SampleVec
boost::intrusive_ptr< FieldMapping > Ptr
virtual bool write(hid_t mappingGroup, FieldMapping::Ptr mapping)
Writes the given field mapping to disk.
virtual std::string className() const
Returns the class name.
virtual FieldMapping::Ptr read(hid_t mappingGroup)
Reads the field mapping and tries to create a FrustumFieldMapping object from it.
Represents the mapping of a field by a perspective transform.
ZDistribution
Enumerates the Z slice distribution. .f3d files will store values as an int, so be very careful not t...
@ PerspectiveDistribution
boost::intrusive_ptr< FrustumFieldMapping > Ptr
Convenience typedef.
virtual bool write(hid_t mappingGroup, FieldMapping::Ptr mapping)
Writes the given field mapping to disk.
virtual std::string className() const
Returns the class name.
virtual FieldMapping::Ptr read(hid_t mappingGroup)
Reads the field mapping and tries to create a MatrixFieldMapping object from it.
Represents the mapping of a field by a matrix transform.
boost::intrusive_ptr< MatrixFieldMapping > Ptr
Convenience typedef.
virtual bool write(hid_t mappingGroup, FieldMapping::Ptr mapping)
Writes the given field mapping to disk.
virtual std::string className() const
Returns the class name.
virtual FieldMapping::Ptr read(hid_t mappingGroup)
Reads the field mapping and tries to create a NullFieldMapping object from it.
Trivial class, world space is equal to local space, i.e. the field is contained in the unit cube [0....
boost::intrusive_ptr< NullFieldMapping > Ptr
Convenience typedef.
FIELD3D_API bool readAttribute(hid_t location, const std::string &attrName, std::string &value)
Reads a string attribute.
FIELD3D_API bool writeAttribute(hid_t location, const std::string &attrName, const std::string &value)
Writes a string attribute.
Namespace for Exception objects.
const string k_nullMappingName("NullFieldMapping")
const string k_matrixMappingName("MatrixFieldMapping")
const string k_frustumMappingName("FrustumFieldMapping")
Contains utility functions and classes for Hdf5 files.
FIELD3D_API void print(Severity severity, const std::string &message)
Sends the string to the assigned output, prefixing the message with the severity.
#define FIELD3D_NAMESPACE_SOURCE_CLOSE