00001 #ifndef Impala_Core_Array_MakeCircle_h
00002 #define Impala_Core_Array_MakeCircle_h
00003 
00004 #include "Core/Array/Trait/InOutCircle.h"
00005 #include "Core/Array/Pattern/PatInOutOp.h"
00006 
00007 namespace Impala
00008 {
00009 namespace Core
00010 {
00011 namespace Array
00012 {
00013 
00014 
00015 
00016 template<class ArrayT>
00017 inline void
00018 MakeCircle(ArrayT*& dst, int centerX, int centerY, Real64 radius,
00019              typename ArrayT::ArithType circleValue,
00020              typename ArrayT::ArithType outsideValue)
00021 {
00022     Trait::InOutCircle<ArrayT> circle(centerX, centerY, radius, circleValue, outsideValue);
00023     Pattern::PatInOutOp(dst, circle);
00024 }
00025 
00026 } 
00027 } 
00028 } 
00029 
00030 #endif