H3D API
2.4.1
|
H3DImageLoaderNode is a virtual base class for classes that read an image file format such as PNG or JPEG and construct an Image class with the data from the file. More...
#include <H3D/H3DImageLoaderNode.h>
Classes | |
struct | FileReaderRegistration |
Class used to register a class to the registered file readers. More... | |
Public Types | |
typedef bool(* | SupportsFileFunc) (const string &url) |
Function ptr type for callback to ask if loader supports a url. | |
typedef bool(* | SupportsStreamFunc) (istream &is) |
Function ptr type for callback to ask if loader supports a stream. | |
![]() | |
typedef std::map< Node *, Node * > | DeepCopyMap |
A map type used during a deep copy clone() to map from original nodes to cloned nodes. | |
Public Member Functions | |
H3DImageLoaderNode () | |
Constructor. | |
virtual Image * | loadImage (const string &url)=0 |
Pure virtual function to load an Image from a url. More... | |
virtual Image * | loadImage (istream &) |
Load an image from an istream. More... | |
virtual string | defaultXMLContainerField () |
Returns the default xml containerField attribute value. More... | |
![]() | |
Node () | |
Constructor. | |
virtual Node * | clone (bool deepCopy=true, DeepCopyMap *deepCopyMap=NULL) |
Returns a new instance of this node type with the same state as this one. More... | |
virtual | ~Node () |
Destructor. | |
X3DPrototypeInstance * | getProtoInstanceParent () |
If this node is the root node in the proto body of a X3DPrototypeInstance then this will return that node. More... | |
void | setProtoInstanceParent (X3DPrototypeInstance *p) |
Set the X3DPrototypeInstance this node is the the root node if applicaple. | |
virtual void | render () |
the render() function is used for the depth-first rendering traversal of the scene-graph. More... | |
virtual void | traverseSG (TraverseInfo &ti) |
traverseSG is called once per scenegraph loop on the scene in order to traverse the scenegraph. More... | |
virtual bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) |
Detect intersection between a line segment and the Node. More... | |
virtual void | closestPoint (const Vec3f &p, NodeIntersectResult &result) |
Find closest point on Node to p. More... | |
virtual bool | movingSphereIntersect (H3DFloat radius, const Vec3f &from, const Vec3f &to, NodeIntersectResult &result) |
Detect collision between a moving sphere and the Node. More... | |
virtual Field * | getField (const string &_name) const |
return a pointer to the field specified by name within this instance | |
int | addDestructCallback (void(*func)(Node *, void *), void *args) |
Add a callback function to be run on destruction of node. More... | |
int | removeDestructCallback (void(*func)(Node *, void *), void *args) |
Add a callback function to be run on destruction of node. More... | |
Static Public Member Functions | |
static H3DImageLoaderNode * | getSupportedFileReader (const string &url) |
Given an url to a file, it returns an instance of a H3DImageLoaderNode class that can handle that file type. More... | |
static H3DImageLoaderNode * | getSupportedFileReader (istream &is) |
Given an istream, it returns an instance of a H3DImageLoaderNode class that can handle that image type. More... | |
static void | registerFileReader (const string &name, CreateNodeFunc create, SupportsFileFunc supports, SupportsStreamFunc supports_stream=NULL) |
Register a file reader that can then be returned by getSupportedFileReader(). More... | |
static void | registerFileReader (const FileReaderRegistration &fr) |
Register a file reader that can then be returned by getSupportedFileReader(). | |
![]() | |
static unsigned int | nrNodesAlive () |
Returns the nr of nodes currently alive, i.e. nodes created but not destructed. | |
static int | nrNodesCreated () |
Returns the number of nodes created in total since the start of the program. | |
Additional Inherited Members | |
![]() | |
void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for the clone() method. More... | |
![]() | |
static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for nodes that implement clone() More... | |
H3DImageLoaderNode is a virtual base class for classes that read an image file format such as PNG or JPEG and construct an Image class with the data from the file.
Each subclass must define the loadImage () function. It is used by e.g. the ImageTexture node.
|
inlinevirtual |
Returns the default xml containerField attribute value.
For this node it is "imageLoader".
Reimplemented from H3D::Node.
|
static |
Given an url to a file, it returns an instance of a H3DImageLoaderNode class that can handle that file type.
If no such class is registered NULL is returned.
Referenced by H3D::Image3DTexture::SFImage::loadImage(), and H3D::ImageTexture::SFImage::loadImage().
|
static |
Given an istream, it returns an instance of a H3DImageLoaderNode class that can handle that image type.
If no such class is registered NULL is returned.
|
pure virtual |
Pure virtual function to load an Image from a url.
Implemented in H3D::RawImageLoader, H3D::NrrdImageLoader, H3D::FreeImageLoader, H3D::DicomImageLoader, and H3D::DDSImageLoader.
Referenced by H3D::Image3DTexture::SFImage::loadImage(), and H3D::ImageTexture::SFImage::loadImage().
|
inlinevirtual |
Load an image from an istream.
Does not need to be implemented for all image loaders
Reimplemented in H3D::FreeImageLoader, and H3D::DDSImageLoader.
|
inlinestatic |
Register a file reader that can then be returned by getSupportedFileReader().
name | The name of the class |
create | A function for creating an instance of that class. |
supports | A function to determine if the class supports a given file type. |
supports_stream | A function to determine if the class supports loading from a file stream. |