mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 05:00:06 -05:00
745f06d29d
-Remove the Type field from the variations tree and instead just put the type indicator icon next to the variation name. -Double clicking to toggle variation parameter spinners now resets the value to the default if there is one, else it uses zero. If it is already using the default, it is toggled to 0. -Add a new button to toggle xaos on and off. -When duplicating a flame, insert it immediately after the one being duplicated instead of at the end of the file. -When switching between flames in a file, keep the same xform index selected rather than resetting it to the first xform each time. -Create a threaded writer for the final render and EmberAnimate so the rendering process does not get delayed by file saving which may take a long time. -Remove warning which said "Frames per rot cannot be greater than one while Rotations is zero" when generating a sequence. -Add the Circle_Rand variation from Chaotica. -Add tool tips to clarify the following items: --Auto Unique Filenames checkbox in the options dialog. --Xaos table headers. --Bug fixes -Generating sequences using the following variations would be done incorrectly: circletrans1, collideoscope, crob, curlsp, glynnsim1, glynnsim2, hypercrop, julian, julian, mobiusn, nblur, waves2, wavesn. -Adding/removing nodes from the color curve had accidentally been disabled. -The applied xaos weight table was not showing normalized weight values. -Changing the size of a flame was not observing the Apply To All checkbox. -Do not clamp the Rotate field to +/-180, because this causes the rotation to switch from CW to CCW during sequence generation. Instead, leave it exactly as the user entered it so the rotations proceed in the same direction.
547 lines
20 KiB
C++
547 lines
20 KiB
C++
#include "EmberPch.h"
|
|
#include "EmberDefines.h"
|
|
#include "Isaac.h"
|
|
#include "Utils.h"
|
|
|
|
namespace EmberNs
|
|
{
|
|
template<> unique_ptr<QTIsaac<ISAAC_SIZE, ISAAC_INT>> QTIsaac<ISAAC_SIZE, ISAAC_INT>::GlobalRand = unique_ptr<QTIsaac<ISAAC_SIZE, ISAAC_INT>>(new QTIsaac<ISAAC_SIZE, ISAAC_INT>());
|
|
template<> unique_ptr<recursive_mutex> QTIsaac<ISAAC_SIZE, ISAAC_INT>::s_CS = unique_ptr<recursive_mutex>(new recursive_mutex());
|
|
template EMBER_API class QTIsaac<ISAAC_SIZE, ISAAC_INT>;
|
|
bool Compat::m_Compat = true;
|
|
}
|
|
|
|
#include "Curves.h"
|
|
#include "Ember.h"
|
|
#include "Iterator.h"
|
|
#include "Palette.h"
|
|
#include "PaletteList.h"
|
|
#include "Point.h"
|
|
#include "VarFuncs.h"
|
|
#include "Variation.h"
|
|
#include "Variations01.h"
|
|
#include "Variations02.h"
|
|
#include "Variations03.h"
|
|
#include "Variations04.h"
|
|
#include "Variations05.h"
|
|
#include "Variations06.h"
|
|
#include "Variations07.h"
|
|
#include "Variations08.h"
|
|
#include "VariationsDC.h"
|
|
#include "VariationList.h"
|
|
#include "Affine2D.h"
|
|
#include "Xform.h"
|
|
#include "EmberMotion.h"
|
|
#include "EmberToXml.h"
|
|
#include "Spline.h"
|
|
#include "XmlToEmber.h"
|
|
#include "SpatialFilter.h"
|
|
#include "DensityFilter.h"
|
|
#include "TemporalFilter.h"
|
|
#include "Interpolate.h"
|
|
#include "Renderer.h"
|
|
#include "Timing.h"
|
|
#include "SheepTools.h"
|
|
|
|
/// <summary>
|
|
/// Explicit instantiation of all templated classes which aren't implemented in cpp files.
|
|
/// All new templated classes, such as new variations, must be added here.
|
|
/// Additional instances of static class member variables.
|
|
/// </summary>
|
|
namespace EmberNs
|
|
{
|
|
bool Timing::m_TimingInit = false;
|
|
uint Timing::m_ProcessorCount;
|
|
|
|
#define EXPORTPREPOSTREGVAR(varName, T) \
|
|
template class varName##Variation<T>; \
|
|
template class Pre##varName##Variation<T>; \
|
|
template class Post##varName##Variation<T>;
|
|
|
|
#define EXPORT_SINGLE_TYPE_EMBER(T) \
|
|
template<> bool XmlToEmber<T>::m_Init = false; \
|
|
template<> vector<string> XmlToEmber<T>::m_FlattenNames = vector<string>(); \
|
|
template<> unordered_map<string, string> XmlToEmber<T>::m_BadParamNames = unordered_map<string, string>(); \
|
|
template<> vector<pair<pair<string, string>, vector<string>>> XmlToEmber<T>::m_BadVariationNames = vector<pair<pair<string, string>, vector<string>>>(); \
|
|
template EMBER_API class Point<T>; \
|
|
template EMBER_API struct Color<T>; \
|
|
template EMBER_API class Iterator<T>; \
|
|
template EMBER_API class StandardIterator<T>; \
|
|
template EMBER_API class XaosIterator<T>; \
|
|
template EMBER_API class Xform<T>; \
|
|
template EMBER_API class MotionParam<T>; \
|
|
template EMBER_API class EmberMotion<T>; \
|
|
template EMBER_API class IteratorHelper<T>; \
|
|
template EMBER_API class VarFuncs<T>; \
|
|
template EMBER_API class Variation<T>; \
|
|
template EMBER_API class ParamWithName<T>; \
|
|
template EMBER_API class ParametricVariation<T>; \
|
|
EXPORTPREPOSTREGVAR(Linear, T) \
|
|
EXPORTPREPOSTREGVAR(Sinusoidal, T) \
|
|
EXPORTPREPOSTREGVAR(Spherical, T) \
|
|
EXPORTPREPOSTREGVAR(Swirl, T) \
|
|
EXPORTPREPOSTREGVAR(Swirl3, T) \
|
|
EXPORTPREPOSTREGVAR(Swirl3r, T) \
|
|
EXPORTPREPOSTREGVAR(Horseshoe, T) \
|
|
EXPORTPREPOSTREGVAR(Polar, T) \
|
|
EXPORTPREPOSTREGVAR(Handkerchief, T) \
|
|
EXPORTPREPOSTREGVAR(Heart, T) \
|
|
EXPORTPREPOSTREGVAR(Disc, T) \
|
|
EXPORTPREPOSTREGVAR(Spiral, T) \
|
|
EXPORTPREPOSTREGVAR(Hyperbolic, T) \
|
|
EXPORTPREPOSTREGVAR(Diamond, T) \
|
|
EXPORTPREPOSTREGVAR(Ex, T) \
|
|
EXPORTPREPOSTREGVAR(Julia, T) \
|
|
EXPORTPREPOSTREGVAR(Bent, T) \
|
|
EXPORTPREPOSTREGVAR(Waves, T) \
|
|
EXPORTPREPOSTREGVAR(Fisheye, T) \
|
|
EXPORTPREPOSTREGVAR(Popcorn, T) \
|
|
EXPORTPREPOSTREGVAR(Exponential, T) \
|
|
EXPORTPREPOSTREGVAR(Power, T) \
|
|
EXPORTPREPOSTREGVAR(Cosine, T) \
|
|
EXPORTPREPOSTREGVAR(Rings, T) \
|
|
EXPORTPREPOSTREGVAR(Fan, T) \
|
|
EXPORTPREPOSTREGVAR(Blob, T) \
|
|
EXPORTPREPOSTREGVAR(Pdj, T) \
|
|
EXPORTPREPOSTREGVAR(Fan2, T) \
|
|
EXPORTPREPOSTREGVAR(Rings2, T) \
|
|
EXPORTPREPOSTREGVAR(Eyefish, T) \
|
|
EXPORTPREPOSTREGVAR(Bubble, T) \
|
|
EXPORTPREPOSTREGVAR(Cylinder, T) \
|
|
EXPORTPREPOSTREGVAR(Perspective, T) \
|
|
EXPORTPREPOSTREGVAR(Noise, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaNGeneric, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaScope, T) \
|
|
EXPORTPREPOSTREGVAR(Blur, T) \
|
|
EXPORTPREPOSTREGVAR(GaussianBlur, T) \
|
|
EXPORTPREPOSTREGVAR(Gaussian, T) \
|
|
EXPORTPREPOSTREGVAR(RadialBlur, T) \
|
|
EXPORTPREPOSTREGVAR(Pie, T) \
|
|
EXPORTPREPOSTREGVAR(Ngon, T) \
|
|
EXPORTPREPOSTREGVAR(Curl, T) \
|
|
EXPORTPREPOSTREGVAR(Rectangles, T) \
|
|
EXPORTPREPOSTREGVAR(Arch, T) \
|
|
EXPORTPREPOSTREGVAR(Tangent, T) \
|
|
EXPORTPREPOSTREGVAR(Square, T) \
|
|
EXPORTPREPOSTREGVAR(Rays, T) \
|
|
EXPORTPREPOSTREGVAR(Rays1, T) \
|
|
EXPORTPREPOSTREGVAR(Rays2, T) \
|
|
EXPORTPREPOSTREGVAR(Rays3, T) \
|
|
EXPORTPREPOSTREGVAR(Blade, T) \
|
|
EXPORTPREPOSTREGVAR(Secant2, T) \
|
|
EXPORTPREPOSTREGVAR(TwinTrian, T) \
|
|
EXPORTPREPOSTREGVAR(Cross, T) \
|
|
EXPORTPREPOSTREGVAR(Disc2, T) \
|
|
EXPORTPREPOSTREGVAR(SuperShape, T) \
|
|
EXPORTPREPOSTREGVAR(Flower, T) \
|
|
EXPORTPREPOSTREGVAR(FlowerDb, T) \
|
|
EXPORTPREPOSTREGVAR(Conic, T) \
|
|
EXPORTPREPOSTREGVAR(Parabola, T) \
|
|
EXPORTPREPOSTREGVAR(Bent2, T) \
|
|
EXPORTPREPOSTREGVAR(Bipolar, T) \
|
|
EXPORTPREPOSTREGVAR(Boarders, T) \
|
|
EXPORTPREPOSTREGVAR(Butterfly, T) \
|
|
EXPORTPREPOSTREGVAR(Cell, T) \
|
|
EXPORTPREPOSTREGVAR(Cpow, T) \
|
|
EXPORTPREPOSTREGVAR(Curve, T) \
|
|
EXPORTPREPOSTREGVAR(Edisc, T) \
|
|
EXPORTPREPOSTREGVAR(Elliptic, T) \
|
|
EXPORTPREPOSTREGVAR(Escher, T) \
|
|
EXPORTPREPOSTREGVAR(Foci, T) \
|
|
EXPORTPREPOSTREGVAR(LazySusan, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie, T) \
|
|
EXPORTPREPOSTREGVAR(Modulus, T) \
|
|
EXPORTPREPOSTREGVAR(Oscilloscope, T) \
|
|
EXPORTPREPOSTREGVAR(Oscilloscope2, T) \
|
|
EXPORTPREPOSTREGVAR(Polar2, T) \
|
|
EXPORTPREPOSTREGVAR(Popcorn2, T) \
|
|
EXPORTPREPOSTREGVAR(Scry, T) \
|
|
EXPORTPREPOSTREGVAR(Scry2, T) \
|
|
EXPORTPREPOSTREGVAR(Separation, T) \
|
|
EXPORTPREPOSTREGVAR(Split, T) \
|
|
EXPORTPREPOSTREGVAR(Splits, T) \
|
|
EXPORTPREPOSTREGVAR(Stripes, T) \
|
|
EXPORTPREPOSTREGVAR(Wedge, T) \
|
|
EXPORTPREPOSTREGVAR(WedgeJulia, T) \
|
|
EXPORTPREPOSTREGVAR(WedgeSph, T) \
|
|
EXPORTPREPOSTREGVAR(Whorl, T) \
|
|
EXPORTPREPOSTREGVAR(Waves2, T) \
|
|
EXPORTPREPOSTREGVAR(Exp, T) \
|
|
EXPORTPREPOSTREGVAR(Exp2, T) \
|
|
EXPORTPREPOSTREGVAR(Log, T) \
|
|
EXPORTPREPOSTREGVAR(Sin, T) \
|
|
EXPORTPREPOSTREGVAR(Cos, T) \
|
|
EXPORTPREPOSTREGVAR(Tan, T) \
|
|
EXPORTPREPOSTREGVAR(Sec, T) \
|
|
EXPORTPREPOSTREGVAR(Csc, T) \
|
|
EXPORTPREPOSTREGVAR(Cot, T) \
|
|
EXPORTPREPOSTREGVAR(Sinh, T) \
|
|
EXPORTPREPOSTREGVAR(Cosh, T) \
|
|
EXPORTPREPOSTREGVAR(Tanh, T) \
|
|
EXPORTPREPOSTREGVAR(TanhSpiral, T) \
|
|
EXPORTPREPOSTREGVAR(Sech, T) \
|
|
EXPORTPREPOSTREGVAR(Csch, T) \
|
|
EXPORTPREPOSTREGVAR(Coth, T) \
|
|
EXPORTPREPOSTREGVAR(Auger, T) \
|
|
EXPORTPREPOSTREGVAR(Flux, T) \
|
|
EXPORTPREPOSTREGVAR(Hemisphere, T) \
|
|
EXPORTPREPOSTREGVAR(Epispiral, T) \
|
|
EXPORTPREPOSTREGVAR(Bwraps, T) \
|
|
EXPORTPREPOSTREGVAR(BwrapsRand, T) \
|
|
EXPORTPREPOSTREGVAR(Extrude, T) \
|
|
EXPORTPREPOSTREGVAR(BlurCircle, T) \
|
|
EXPORTPREPOSTREGVAR(BlurZoom, T) \
|
|
EXPORTPREPOSTREGVAR(BlurPixelize, T) \
|
|
EXPORTPREPOSTREGVAR(Crop, T) \
|
|
EXPORTPREPOSTREGVAR(BCircle, T) \
|
|
EXPORTPREPOSTREGVAR(BlurLinear, T) \
|
|
EXPORTPREPOSTREGVAR(BlurSquare, T) \
|
|
EXPORTPREPOSTREGVAR(Boarders2, T) \
|
|
EXPORTPREPOSTREGVAR(Cardioid, T) \
|
|
EXPORTPREPOSTREGVAR(Checks, T) \
|
|
EXPORTPREPOSTREGVAR(Circlize, T) \
|
|
EXPORTPREPOSTREGVAR(Circlize2, T) \
|
|
EXPORTPREPOSTREGVAR(CosWrap, T) \
|
|
EXPORTPREPOSTREGVAR(DeltaA, T) \
|
|
EXPORTPREPOSTREGVAR(Expo, T) \
|
|
EXPORTPREPOSTREGVAR(FDisc, T) \
|
|
EXPORTPREPOSTREGVAR(Fibonacci, T) \
|
|
EXPORTPREPOSTREGVAR(Fibonacci2, T) \
|
|
EXPORTPREPOSTREGVAR(Glynnia, T) \
|
|
EXPORTPREPOSTREGVAR(Glynnia2, T) \
|
|
EXPORTPREPOSTREGVAR(GridOut, T) \
|
|
EXPORTPREPOSTREGVAR(Hole, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile1, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile2, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile3D, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile3D1, T) \
|
|
EXPORTPREPOSTREGVAR(Hypertile3D2, T) \
|
|
EXPORTPREPOSTREGVAR(IDisc, T) \
|
|
EXPORTPREPOSTREGVAR(Julian2, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaQ, T) \
|
|
EXPORTPREPOSTREGVAR(Murl, T) \
|
|
EXPORTPREPOSTREGVAR(Murl2, T) \
|
|
EXPORTPREPOSTREGVAR(NPolar, T) \
|
|
EXPORTPREPOSTREGVAR(Ortho, T) \
|
|
EXPORTPREPOSTREGVAR(Poincare, T) \
|
|
EXPORTPREPOSTREGVAR(Poincare3D, T) \
|
|
EXPORTPREPOSTREGVAR(Polynomial, T) \
|
|
EXPORTPREPOSTREGVAR(PSphere, T) \
|
|
EXPORTPREPOSTREGVAR(Rational3, T) \
|
|
EXPORTPREPOSTREGVAR(Ripple, T) \
|
|
EXPORTPREPOSTREGVAR(Sigmoid, T) \
|
|
EXPORTPREPOSTREGVAR(SinusGrid, T) \
|
|
EXPORTPREPOSTREGVAR(Stwin, T) \
|
|
EXPORTPREPOSTREGVAR(TwoFace, T) \
|
|
EXPORTPREPOSTREGVAR(Unpolar, T) \
|
|
EXPORTPREPOSTREGVAR(WavesN, T) \
|
|
EXPORTPREPOSTREGVAR(XHeart, T) \
|
|
EXPORTPREPOSTREGVAR(Barycentroid, T) \
|
|
EXPORTPREPOSTREGVAR(BiSplit, T) \
|
|
EXPORTPREPOSTREGVAR(Crescents, T) \
|
|
EXPORTPREPOSTREGVAR(Mask, T) \
|
|
EXPORTPREPOSTREGVAR(Cpow2, T) \
|
|
EXPORTPREPOSTREGVAR(Curl3D, T) \
|
|
EXPORTPREPOSTREGVAR(Disc3D, T) \
|
|
EXPORTPREPOSTREGVAR(Funnel, T) \
|
|
EXPORTPREPOSTREGVAR(Linear3D, T) \
|
|
EXPORTPREPOSTREGVAR(PowBlock, T) \
|
|
EXPORTPREPOSTREGVAR(Squirrel, T) \
|
|
EXPORTPREPOSTREGVAR(Ennepers, T) \
|
|
EXPORTPREPOSTREGVAR(SphericalN, T) \
|
|
EXPORTPREPOSTREGVAR(Kaleidoscope, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim1, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim2, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim3, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim4, T) \
|
|
EXPORTPREPOSTREGVAR(GlynnSim5, T) \
|
|
EXPORTPREPOSTREGVAR(Starblur, T) \
|
|
EXPORTPREPOSTREGVAR(Sineblur, T) \
|
|
EXPORTPREPOSTREGVAR(Circleblur, T) \
|
|
EXPORTPREPOSTREGVAR(CropN, T) \
|
|
EXPORTPREPOSTREGVAR(ShredRad, T) \
|
|
EXPORTPREPOSTREGVAR(Blob2, T) \
|
|
EXPORTPREPOSTREGVAR(Julia3D, T) \
|
|
EXPORTPREPOSTREGVAR(Julia3Dz, T) \
|
|
EXPORTPREPOSTREGVAR(LinearT, T) \
|
|
EXPORTPREPOSTREGVAR(LinearT3D, T) \
|
|
EXPORTPREPOSTREGVAR(Ovoid, T) \
|
|
EXPORTPREPOSTREGVAR(Ovoid3D, T) \
|
|
EXPORTPREPOSTREGVAR(Spirograph, T) \
|
|
EXPORTPREPOSTREGVAR(Petal, T) \
|
|
EXPORTPREPOSTREGVAR(Spher, T) \
|
|
EXPORTPREPOSTREGVAR(RoundSpher, T) \
|
|
EXPORTPREPOSTREGVAR(RoundSpher3D, T) \
|
|
EXPORTPREPOSTREGVAR(SpiralWing, T) \
|
|
EXPORTPREPOSTREGVAR(Squarize, T) \
|
|
EXPORTPREPOSTREGVAR(Sschecks, T) \
|
|
EXPORTPREPOSTREGVAR(PhoenixJulia, T) \
|
|
EXPORTPREPOSTREGVAR(Mobius, T) \
|
|
EXPORTPREPOSTREGVAR(MobiusN, T) \
|
|
EXPORTPREPOSTREGVAR(MobiusStrip, T) \
|
|
EXPORTPREPOSTREGVAR(Lissajous, T) \
|
|
EXPORTPREPOSTREGVAR(Svf, T) \
|
|
EXPORTPREPOSTREGVAR(Target, T) \
|
|
EXPORTPREPOSTREGVAR(Target0, T) \
|
|
EXPORTPREPOSTREGVAR(Target2, T) \
|
|
EXPORTPREPOSTREGVAR(Taurus, T) \
|
|
EXPORTPREPOSTREGVAR(Collideoscope, T) \
|
|
EXPORTPREPOSTREGVAR(BMod, T) \
|
|
EXPORTPREPOSTREGVAR(BSwirl, T) \
|
|
EXPORTPREPOSTREGVAR(BTransform, T) \
|
|
EXPORTPREPOSTREGVAR(BCollide, T) \
|
|
EXPORTPREPOSTREGVAR(Eclipse, T) \
|
|
EXPORTPREPOSTREGVAR(FlipCircle, T) \
|
|
EXPORTPREPOSTREGVAR(FlipX, T) \
|
|
EXPORTPREPOSTREGVAR(FlipY, T) \
|
|
EXPORTPREPOSTREGVAR(ECollide, T) \
|
|
EXPORTPREPOSTREGVAR(EJulia, T) \
|
|
EXPORTPREPOSTREGVAR(EMod, T) \
|
|
EXPORTPREPOSTREGVAR(EMotion, T) \
|
|
EXPORTPREPOSTREGVAR(EPush, T) \
|
|
EXPORTPREPOSTREGVAR(ERotate, T) \
|
|
EXPORTPREPOSTREGVAR(EScale, T) \
|
|
EXPORTPREPOSTREGVAR(ESwirl, T) \
|
|
EXPORTPREPOSTREGVAR(LazyJess, T) \
|
|
EXPORTPREPOSTREGVAR(LazyTravis, T) \
|
|
EXPORTPREPOSTREGVAR(Squish, T) \
|
|
EXPORTPREPOSTREGVAR(Circus, T) \
|
|
EXPORTPREPOSTREGVAR(Tancos, T) \
|
|
EXPORTPREPOSTREGVAR(Rippled, T) \
|
|
EXPORTPREPOSTREGVAR(Flatten, T) \
|
|
EXPORTPREPOSTREGVAR(Zblur, T) \
|
|
EXPORTPREPOSTREGVAR(Blur3D, T) \
|
|
EXPORTPREPOSTREGVAR(ZScale, T) \
|
|
EXPORTPREPOSTREGVAR(ZTranslate, T) \
|
|
EXPORTPREPOSTREGVAR(ZCone, T) \
|
|
EXPORTPREPOSTREGVAR(RotateX, T) \
|
|
EXPORTPREPOSTREGVAR(RotateY, T) \
|
|
EXPORTPREPOSTREGVAR(RotateZ, T) \
|
|
EXPORTPREPOSTREGVAR(MirrorX, T) \
|
|
EXPORTPREPOSTREGVAR(MirrorY, T) \
|
|
EXPORTPREPOSTREGVAR(MirrorZ, T) \
|
|
EXPORTPREPOSTREGVAR(Depth, T) \
|
|
EXPORTPREPOSTREGVAR(RBlur, T) \
|
|
EXPORTPREPOSTREGVAR(JuliaNab, T) \
|
|
EXPORTPREPOSTREGVAR(Sintrange, T) \
|
|
EXPORTPREPOSTREGVAR(Voron, T) \
|
|
EXPORTPREPOSTREGVAR(Waffle, T) \
|
|
EXPORTPREPOSTREGVAR(Square3D, T) \
|
|
EXPORTPREPOSTREGVAR(SuperShape3D, T) \
|
|
EXPORTPREPOSTREGVAR(Sphyp3D, T) \
|
|
EXPORTPREPOSTREGVAR(Circlecrop, T) \
|
|
EXPORTPREPOSTREGVAR(Circlecrop2, T) \
|
|
EXPORTPREPOSTREGVAR(Julian3Dx, T) \
|
|
EXPORTPREPOSTREGVAR(Fourth, T) \
|
|
EXPORTPREPOSTREGVAR(Mobiq, T) \
|
|
EXPORTPREPOSTREGVAR(Spherivoid, T) \
|
|
EXPORTPREPOSTREGVAR(Farblur, T) \
|
|
EXPORTPREPOSTREGVAR(CurlSP, T) \
|
|
EXPORTPREPOSTREGVAR(Heat, T) \
|
|
EXPORTPREPOSTREGVAR(Interference2, T) \
|
|
EXPORTPREPOSTREGVAR(Sinq, T) \
|
|
EXPORTPREPOSTREGVAR(Sinhq, T) \
|
|
EXPORTPREPOSTREGVAR(Secq, T) \
|
|
EXPORTPREPOSTREGVAR(Sechq, T) \
|
|
EXPORTPREPOSTREGVAR(Tanq, T) \
|
|
EXPORTPREPOSTREGVAR(Tanhq, T) \
|
|
EXPORTPREPOSTREGVAR(Cosq, T) \
|
|
EXPORTPREPOSTREGVAR(Coshq, T) \
|
|
EXPORTPREPOSTREGVAR(Cotq, T) \
|
|
EXPORTPREPOSTREGVAR(Cothq, T) \
|
|
EXPORTPREPOSTREGVAR(Cscq, T) \
|
|
EXPORTPREPOSTREGVAR(Cschq, T) \
|
|
EXPORTPREPOSTREGVAR(Estiq, T) \
|
|
EXPORTPREPOSTREGVAR(Loq, T) \
|
|
EXPORTPREPOSTREGVAR(Curvature, T) \
|
|
EXPORTPREPOSTREGVAR(Qode, T) \
|
|
EXPORTPREPOSTREGVAR(BlurHeart, T) \
|
|
EXPORTPREPOSTREGVAR(Gdoffs, T) \
|
|
EXPORTPREPOSTREGVAR(Octagon, T) \
|
|
EXPORTPREPOSTREGVAR(Trade, T) \
|
|
EXPORTPREPOSTREGVAR(Juliac, T) \
|
|
EXPORTPREPOSTREGVAR(Blade3D, T) \
|
|
EXPORTPREPOSTREGVAR(Blob3D, T) \
|
|
EXPORTPREPOSTREGVAR(Block, T) \
|
|
EXPORTPREPOSTREGVAR(Blocky, T) \
|
|
EXPORTPREPOSTREGVAR(Bubble2, T) \
|
|
EXPORTPREPOSTREGVAR(CircleLinear, T) \
|
|
EXPORTPREPOSTREGVAR(CircleRand, T) \
|
|
EXPORTPREPOSTREGVAR(CircleTrans1, T) \
|
|
EXPORTPREPOSTREGVAR(Cubic3D, T) \
|
|
EXPORTPREPOSTREGVAR(CubicLattice3D, T) \
|
|
EXPORTPREPOSTREGVAR(Foci3D, T) \
|
|
EXPORTPREPOSTREGVAR(FociP, T) \
|
|
EXPORTPREPOSTREGVAR(Ho, T) \
|
|
EXPORTPREPOSTREGVAR(Julia3Dq, T) \
|
|
EXPORTPREPOSTREGVAR(Line, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie2, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie3, T) \
|
|
EXPORTPREPOSTREGVAR(Loonie3D, T) \
|
|
EXPORTPREPOSTREGVAR(Mcarpet, T) \
|
|
EXPORTPREPOSTREGVAR(Waves23D, T) \
|
|
EXPORTPREPOSTREGVAR(Pie3D, T) \
|
|
EXPORTPREPOSTREGVAR(Popcorn23D, T) \
|
|
EXPORTPREPOSTREGVAR(Sinusoidal3D, T) \
|
|
EXPORTPREPOSTREGVAR(Scry3D, T) \
|
|
EXPORTPREPOSTREGVAR(Shredlin, T) \
|
|
EXPORTPREPOSTREGVAR(SplitBrdr, T) \
|
|
EXPORTPREPOSTREGVAR(Wdisc, T) \
|
|
EXPORTPREPOSTREGVAR(Falloff, T) \
|
|
EXPORTPREPOSTREGVAR(Falloff2, T) \
|
|
EXPORTPREPOSTREGVAR(Falloff3, T) \
|
|
EXPORTPREPOSTREGVAR(Xtrb, T) \
|
|
EXPORTPREPOSTREGVAR(Hexaplay3D, T) \
|
|
EXPORTPREPOSTREGVAR(Hexnix3D, T) \
|
|
EXPORTPREPOSTREGVAR(Hexcrop, T) \
|
|
EXPORTPREPOSTREGVAR(Hexes, T) \
|
|
EXPORTPREPOSTREGVAR(Nblur, T) \
|
|
EXPORTPREPOSTREGVAR(Octapol, T) \
|
|
EXPORTPREPOSTREGVAR(Crob, T) \
|
|
EXPORTPREPOSTREGVAR(BubbleT3D, T) \
|
|
EXPORTPREPOSTREGVAR(Synth, T) \
|
|
EXPORTPREPOSTREGVAR(Crackle, T) \
|
|
EXPORTPREPOSTREGVAR(Crackle2, T) \
|
|
EXPORTPREPOSTREGVAR(Erf, T) \
|
|
EXPORTPREPOSTREGVAR(Xerf, T) \
|
|
EXPORTPREPOSTREGVAR(W, T) \
|
|
EXPORTPREPOSTREGVAR(X, T) \
|
|
EXPORTPREPOSTREGVAR(Y, T) \
|
|
EXPORTPREPOSTREGVAR(Z, T) \
|
|
EXPORTPREPOSTREGVAR(Splits3D, T) \
|
|
EXPORTPREPOSTREGVAR(Waves2B, T) \
|
|
EXPORTPREPOSTREGVAR(JacCn, T) \
|
|
EXPORTPREPOSTREGVAR(JacDn, T) \
|
|
EXPORTPREPOSTREGVAR(JacSn, T) \
|
|
EXPORTPREPOSTREGVAR(PressureWave, T) \
|
|
EXPORTPREPOSTREGVAR(Gamma, T) \
|
|
EXPORTPREPOSTREGVAR(PRose3D, T) \
|
|
EXPORTPREPOSTREGVAR(LogDB, T) \
|
|
EXPORTPREPOSTREGVAR(CircleSplit, T) \
|
|
EXPORTPREPOSTREGVAR(Cylinder2, T) \
|
|
EXPORTPREPOSTREGVAR(TileLog, T) \
|
|
EXPORTPREPOSTREGVAR(TileHlp, T) \
|
|
EXPORTPREPOSTREGVAR(Truchet, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetFill, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetHexFill, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetHexCrop, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetGlyph, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetInv, T) \
|
|
EXPORTPREPOSTREGVAR(TruchetKnot, T) \
|
|
EXPORTPREPOSTREGVAR(Waves2Radial, T) \
|
|
EXPORTPREPOSTREGVAR(Panorama1, T) \
|
|
EXPORTPREPOSTREGVAR(Panorama2, T) \
|
|
EXPORTPREPOSTREGVAR(Helicoid, T) \
|
|
EXPORTPREPOSTREGVAR(Helix, T) \
|
|
EXPORTPREPOSTREGVAR(Sphereblur, T) \
|
|
EXPORTPREPOSTREGVAR(Cpow3, T) \
|
|
EXPORTPREPOSTREGVAR(Concentric, T) \
|
|
EXPORTPREPOSTREGVAR(Hypercrop, T) \
|
|
EXPORTPREPOSTREGVAR(Hypershift, T) \
|
|
EXPORTPREPOSTREGVAR(Hypershift2, T) \
|
|
EXPORTPREPOSTREGVAR(Lens, T) \
|
|
EXPORTPREPOSTREGVAR(Projective, T) \
|
|
EXPORTPREPOSTREGVAR(DepthBlur, T) \
|
|
EXPORTPREPOSTREGVAR(DepthBlur2, T) \
|
|
EXPORTPREPOSTREGVAR(DepthGaussian, T) \
|
|
EXPORTPREPOSTREGVAR(DepthGaussian2, T) \
|
|
EXPORTPREPOSTREGVAR(DepthNgon, T) \
|
|
EXPORTPREPOSTREGVAR(DepthNgon2, T) \
|
|
EXPORTPREPOSTREGVAR(DepthSine, T) \
|
|
EXPORTPREPOSTREGVAR(DepthSine2, T) \
|
|
EXPORTPREPOSTREGVAR(CothSpiral, T) \
|
|
EXPORTPREPOSTREGVAR(Dust, T) \
|
|
EXPORTPREPOSTREGVAR(Asteria, T) \
|
|
EXPORTPREPOSTREGVAR(Pulse, T) \
|
|
EXPORTPREPOSTREGVAR(Excinis, T) \
|
|
EXPORTPREPOSTREGVAR(Vibration, T) \
|
|
EXPORTPREPOSTREGVAR(Vibration2, T) \
|
|
EXPORTPREPOSTREGVAR(Arcsech, T) \
|
|
EXPORTPREPOSTREGVAR(Arcsech2, T) \
|
|
EXPORTPREPOSTREGVAR(Arcsinh, T) \
|
|
EXPORTPREPOSTREGVAR(Arctanh, T) \
|
|
EXPORTPREPOSTREGVAR(HexTruchet, T) \
|
|
EXPORTPREPOSTREGVAR(HexRand, T) \
|
|
EXPORTPREPOSTREGVAR(Smartshape, T) \
|
|
EXPORTPREPOSTREGVAR(Squares, T) \
|
|
EXPORTPREPOSTREGVAR(Starblur2, T) \
|
|
EXPORTPREPOSTREGVAR(UnicornGaloshen, T) \
|
|
EXPORTPREPOSTREGVAR(Dragonfire, T) \
|
|
EXPORTPREPOSTREGVAR(Henon, T) \
|
|
EXPORTPREPOSTREGVAR(Lozi, T) \
|
|
EXPORTPREPOSTREGVAR(PointSymmetry, T) \
|
|
EXPORTPREPOSTREGVAR(DSpherical, T) \
|
|
EXPORTPREPOSTREGVAR(Modulusx, T) \
|
|
EXPORTPREPOSTREGVAR(Modulusy, T) \
|
|
EXPORTPREPOSTREGVAR(Rotate, T) \
|
|
EXPORTPREPOSTREGVAR(Shift, T) \
|
|
template EMBER_API class PostSmartcropVariation<T>; /*Only implemented as post.*/ \
|
|
EXPORTPREPOSTREGVAR(DCBubble, T) \
|
|
EXPORTPREPOSTREGVAR(DCCarpet, T) \
|
|
EXPORTPREPOSTREGVAR(DCCube, T) \
|
|
EXPORTPREPOSTREGVAR(DCCylinder, T) \
|
|
EXPORTPREPOSTREGVAR(DCGridOut, T) \
|
|
EXPORTPREPOSTREGVAR(DCLinear, T) \
|
|
EXPORTPREPOSTREGVAR(DCPerlin, T) \
|
|
EXPORTPREPOSTREGVAR(DCZTransl, T) \
|
|
EXPORTPREPOSTREGVAR(DCTriangle, T) \
|
|
EXPORTPREPOSTREGVAR(RandCubes, T) \
|
|
EXPORTPREPOSTREGVAR(PixelFlow, T) \
|
|
EXPORTPREPOSTREGVAR(Waves22, T) \
|
|
EXPORTPREPOSTREGVAR(Waves23, T) \
|
|
EXPORTPREPOSTREGVAR(Waves42, T) \
|
|
EXPORTPREPOSTREGVAR(Waves3, T) \
|
|
EXPORTPREPOSTREGVAR(Waves4, T) \
|
|
EXPORTPREPOSTREGVAR(Gnarly, T) \
|
|
EXPORTPREPOSTREGVAR(Inkdrop, T) \
|
|
EXPORTPREPOSTREGVAR(HexModulus, T) \
|
|
EXPORTPREPOSTREGVAR(Vignette, T) \
|
|
EXPORTPREPOSTREGVAR(Circle_Rand, T) \
|
|
template EMBER_API class VariationList<T>; \
|
|
template EMBER_API class SpatialFilter<T>; \
|
|
template EMBER_API class GaussianFilter<T>; \
|
|
template EMBER_API class HermiteFilter<T>; \
|
|
template EMBER_API class BoxFilter<T>; \
|
|
template EMBER_API class TriangleFilter<T>; \
|
|
template EMBER_API class BellFilter<T>; \
|
|
template EMBER_API class BsplineFilter<T>; \
|
|
template EMBER_API class MitchellFilter<T>; \
|
|
template EMBER_API class BlackmanFilter<T>; \
|
|
template EMBER_API class CatromFilter<T>; \
|
|
template EMBER_API class HanningFilter<T>; \
|
|
template EMBER_API class HammingFilter<T>; \
|
|
template EMBER_API class Lanczos3Filter<T>; \
|
|
template EMBER_API class Lanczos2Filter<T>; \
|
|
template EMBER_API class QuadraticFilter<T>; \
|
|
template EMBER_API class DensityFilter<T>; \
|
|
template EMBER_API class TemporalFilter<T>; \
|
|
template EMBER_API class ExpTemporalFilter<T>; \
|
|
template EMBER_API class GaussianTemporalFilter<T>; \
|
|
template EMBER_API class BoxTemporalFilter<T>; \
|
|
template EMBER_API class SpatialFilterCreator<T>; \
|
|
template EMBER_API class TemporalFilterCreator<T>; \
|
|
template EMBER_API class Interpolater<T>; \
|
|
template EMBER_API class Ember<T>; \
|
|
template EMBER_API class CarToRas<T>; \
|
|
template EMBER_API class Curves<T>; \
|
|
template EMBER_API class XmlToEmber<T>; \
|
|
template EMBER_API class EmberToXml<T>;
|
|
|
|
#define EXPORT_TWO_TYPE_EMBER(T, bucketT) \
|
|
template EMBER_API class SheepTools<T, bucketT>;
|
|
|
|
EXPORT_SINGLE_TYPE_EMBER(float)
|
|
EXPORT_TWO_TYPE_EMBER(float, float)
|
|
|
|
//Only ever use float palettes.
|
|
template EMBER_API class Palette<float>;
|
|
template EMBER_API class PaletteList<float>;
|
|
template EMBER_API class Spline<float>;
|
|
|
|
#ifdef DO_DOUBLE
|
|
EXPORT_SINGLE_TYPE_EMBER(double)
|
|
EXPORT_TWO_TYPE_EMBER(double, float)
|
|
#endif
|
|
}
|