ZSec File Manager
Upload
Current Directory: /home/aiessinternational.com/public_html
[Up]
..
[Open]
Hapus
Rename
.htaccess
[Edit]
Hapus
Rename
21cbfe
[Open]
Hapus
Rename
ALFA_DATA
[Open]
Hapus
Rename
advance
[Open]
Hapus
Rename
advance.zip
[Edit]
Hapus
Rename
ammika.php
[Edit]
Hapus
Rename
c8aa5
[Open]
Hapus
Rename
click.php
[Edit]
Hapus
Rename
defaults.php
[Edit]
Hapus
Rename
google41b982abb0d9ca3b.html
[Edit]
Hapus
Rename
index.php
[Edit]
Hapus
Rename
index.php0
[Edit]
Hapus
Rename
item.php
[Edit]
Hapus
Rename
license.txt
[Edit]
Hapus
Rename
mah.php
[Edit]
Hapus
Rename
networks.php
[Edit]
Hapus
Rename
options.php
[Edit]
Hapus
Rename
plugins.php
[Edit]
Hapus
Rename
product.php
[Edit]
Hapus
Rename
readme.html
[Edit]
Hapus
Rename
robots.txt
[Edit]
Hapus
Rename
saiga.php
[Edit]
Hapus
Rename
search.php
[Edit]
Hapus
Rename
web.config
[Edit]
Hapus
Rename
wp-activate.php
[Edit]
Hapus
Rename
wp-admin
[Open]
Hapus
Rename
wp-blog-header.php
[Edit]
Hapus
Rename
wp-comments-post.php
[Edit]
Hapus
Rename
wp-config-sample.php
[Edit]
Hapus
Rename
wp-config.php
[Edit]
Hapus
Rename
wp-content
[Open]
Hapus
Rename
wp-cron.php
[Edit]
Hapus
Rename
wp-includes
[Open]
Hapus
Rename
wp-links-opml.php
[Edit]
Hapus
Rename
wp-load.php
[Edit]
Hapus
Rename
wp-log1n.php
[Edit]
Hapus
Rename
wp-mail.php
[Edit]
Hapus
Rename
wp-settings.php
[Edit]
Hapus
Rename
wp-signup.php
[Edit]
Hapus
Rename
wp-trackback.php
[Edit]
Hapus
Rename
wp.php
[Edit]
Hapus
Rename
xmlrpc.php
[Edit]
Hapus
Rename
Edit File
/////////////////////////////////////////////////////////////////////////// // // Copyright (c) 2014, Industrial Light & Magic, a division of Lucas // Digital Ltd. LLC // // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Industrial Light & Magic nor the names of // its contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // /////////////////////////////////////////////////////////////////////////// #ifndef INCLUDED_IMF_FLAT_IMAGE_CHANNEL_H #define INCLUDED_IMF_FLAT_IMAGE_CHANNEL_H //---------------------------------------------------------------------------- // // class FlatImageChannel, // template class TypedFlatImageChannel<T> // // For an explanation of images, levels and channels, // see the comments in header file Image.h. // //---------------------------------------------------------------------------- #include "ImfImageChannel.h" #include "ImfUtilExport.h" #include "ImfImageLevel.h" #include <ImfPixelType.h> #include <ImfFrameBuffer.h> #include <ImathBox.h> #include <half.h> OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER class FlatImageLevel; // // Image channels: // // A TypedFlatImageChannel<T> holds the pixel data for a single channel // of one level of a flat image. The pixels in the channel are of type T, // where T is either half, float or unsigned int. Storage is allocated // only for pixels within the data window of the level. // class FlatImageChannel: public ImageChannel { public: // // Construct an OpenEXR frame buffer slice for this channel. // This function is needed reading an image from an OpenEXR // file and for saving an image in an OpenEXR file. // virtual Slice slice () const = 0; // // Access to the flat image level to which this channel belongs. // IMFUTIL_EXPORT FlatImageLevel & flatLevel (); IMFUTIL_EXPORT const FlatImageLevel & flatLevel () const; protected: friend class FlatImageLevel; IMFUTIL_EXPORT FlatImageChannel (FlatImageLevel &level, int xSampling, int ySampling, bool pLinear); IMFUTIL_EXPORT virtual ~FlatImageChannel(); FlatImageChannel (const FlatImageChannel& other) = delete; FlatImageChannel& operator = (const FlatImageChannel& other) = delete; FlatImageChannel (FlatImageChannel&& other) = delete; FlatImageChannel& operator = (FlatImageChannel&& other) = delete; IMFUTIL_EXPORT virtual void resize (); virtual void resetBasePointer () = 0; }; template <class T> class TypedFlatImageChannel: public FlatImageChannel { public: // // The OpenEXR pixel type of this channel (HALF, FLOAT or UINT). // virtual PixelType pixelType () const; // // Construct an OpenEXR frame buffer slice for this channel. // virtual Slice slice () const; // // Access to the pixel at pixel space location (x, y), without // bounds checking. Accessing a location outside the data window // of the image level results in undefined behavior. // T & operator () (int x, int y); const T & operator () (int x, int y) const; // // Access to the pixel at pixel space location (x, y), with bounds // checking. Accessing a location outside the data window of the // image level throws an Iex::ArgExc exception. // T & at (int x, int y); const T & at (int x, int y) const; // // Faster access to all pixels in a single horizontal row of the // channel. Rows are numbered from 0 to pixelsPerColumn()-1, and // each row contains pixelsPerRow() values. // Access is not bounds checked; accessing out of bounds rows or // pixels results in undefined behavior. // T * row (int r); const T * row (int r) const; private: friend class FlatImageLevel; // // The constructor and destructor are not public because flat // image channels exist only as parts of a flat image level. // TypedFlatImageChannel (FlatImageLevel &level, int xSampling, int ySampling, bool pLinear); virtual ~TypedFlatImageChannel (); TypedFlatImageChannel (const TypedFlatImageChannel& other) = delete; TypedFlatImageChannel& operator = (const TypedFlatImageChannel& other) = delete; TypedFlatImageChannel (TypedFlatImageChannel&& other) = delete; TypedFlatImageChannel& operator = (TypedFlatImageChannel&& other) = delete; virtual void resize (); virtual void resetBasePointer (); T * _pixels; // Pointer to allocated storage T * _base; // Base pointer for faster pixel access }; // // Channel typedefs for the pixel data types supported by OpenEXR. // typedef TypedFlatImageChannel<half> FlatHalfChannel; typedef TypedFlatImageChannel<float> FlatFloatChannel; typedef TypedFlatImageChannel<unsigned int> FlatUIntChannel; //----------------------------------------------------------------------------- // Implementation of templates and inline functions //----------------------------------------------------------------------------- template <class T> TypedFlatImageChannel<T>::TypedFlatImageChannel (FlatImageLevel &level, int xSampling, int ySampling, bool pLinear) : FlatImageChannel (level, xSampling, ySampling, pLinear), _pixels (0), _base (0) { resize(); } template <class T> TypedFlatImageChannel<T>::~TypedFlatImageChannel () { delete [] _pixels; } template <> inline PixelType FlatHalfChannel::pixelType () const { return HALF; } template <> inline PixelType FlatFloatChannel::pixelType () const { return FLOAT; } template <> inline PixelType FlatUIntChannel::pixelType () const { return UINT; } template <class T> Slice TypedFlatImageChannel<T>::slice () const { return Slice (pixelType(), // type (char *) _base, // base sizeof (T), // xStride pixelsPerRow() * sizeof (T), // yStride xSampling(), ySampling()); } template <class T> inline T & TypedFlatImageChannel<T>::operator () (int x, int y) { return _base[(y / ySampling()) * pixelsPerRow() + (x / xSampling())]; } template <class T> inline const T & TypedFlatImageChannel<T>::operator () (int x, int y) const { return _base[(y / ySampling()) * pixelsPerRow() + (x / xSampling())]; } template <class T> inline T & TypedFlatImageChannel<T>::at (int x, int y) { boundsCheck (x, y); return _base[(y / ySampling()) * pixelsPerRow() + (x / xSampling())]; } template <class T> inline const T & TypedFlatImageChannel<T>::at (int x, int y) const { boundsCheck (x, y); return _base[(y / ySampling()) * pixelsPerRow() + (x / xSampling())]; } template <class T> inline T * TypedFlatImageChannel<T>::row (int r) { return _base + r * pixelsPerRow(); } template <class T> inline const T * TypedFlatImageChannel<T>::row (int n) const { return _base + n * pixelsPerRow(); } template <class T> void TypedFlatImageChannel<T>::resize () { delete [] _pixels; _pixels = 0; FlatImageChannel::resize(); // may throw an exception _pixels = new T [numPixels()]; for (size_t i = 0; i < numPixels(); ++i) _pixels[i] = T (0); resetBasePointer (); } template <class T> void TypedFlatImageChannel<T>::resetBasePointer () { _base = _pixels - (level().dataWindow().min.y / ySampling()) * pixelsPerRow() - (level().dataWindow().min.x / xSampling()); } OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT #endif
Simpan