//------------------------------------------------------------------------------
//
// Project: AMR Visualization
// Module: $RCSfile$
// Language: C++
// Date: $Date$
// Author: $Author$
// Version: $Revision$
//
//------------------------------------------------------------------------------
/* WARNING: This software is EXPERIMENTAL. The authors give no guaranty
* about stability or correctness of the provided source!
*
* Copyright (C) 2001, The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the Visualization
* Group at Lawrence Berkeley National Laboratory.
* 4. Neither the name of the University of California, Berkeley nor of the
* Lawrence Berkeley National Laboratory may be used to endorse or
* promote products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE 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 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.
*
*
* This work is supported by the U. S. Department of Energy under contract
* number DE-AC03-76SF00098 between the U. S. Department of Energy and the
* University of California.
*
* Author: Gunther H Weber
* Lawrence Berkeley National Laboratory
* Berkeley, California
*
* "this software is 100% hand-crafted by a human being in the USA [and Germany :-)]"
*
*/
inline float AMRGrid::getValue(int i) const
{
// Maybe it is possible to integrate some type of conversion here, if the
// grid is not Float32.
// Maybe it is possible to switch here between logaritmic and normal grid rep.
//
#ifdef LOG_GETVALUE
return logf(static_cast(data)[i]);
#else
return static_cast(data)[i];
#endif
}
inline float AMRGrid::getValue(int i, int j, int k) const
{
//if (0<=i && i& AMRGrid::getValueRange() const
{
return mValueRange;
}
inline AMRGrid::IntersectionMap* AMRGrid::computeIntersectionMap(IntersectionMap::MapType mapType) const
{
return computeIntersectionMap(mapType, PrimitiveBitSet(1), true);
}
inline bool AMRGrid::refinementAvailable() const
{
return !mRefiningGrids.empty();
}
inline bool AMRGrid::isRefinement() const
{
return !mRefinedGrids.empty();
}
inline AMRHierarchy::GridId AMRGrid::getCellRefiningGridId(const int idx[3]) const
{
return getCellRefiningGridId(idx[0], idx[1], idx[2]);
}