MythTV
master
|
#include <array>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include "ifs.h"
#include "goom_core.h"
#include "goom_tools.h"
Go to the source code of this file.
Classes | |
struct | Similitude_Struct |
struct | Fractal_Struct |
Macros | |
#define | MODE_ifs |
#define | PROGCLASS "IFS" |
#define | HACK_INIT init_ifs |
#define | HACK_DRAW draw_ifs |
#define | ifs_opts xlockmore_opts |
#define | DEFAULTS |
#define | SMOOTH_COLORS |
#define | LRAND() ((long) (RAND() & 0x7fffffff)) |
#define | NRAND(n) ((int) (LRAND() % (n))) |
#define | MAXRAND |
#define | FIX 12 |
#define | UNIT ( 1<<FIX ) |
#define | MAX_SIMI 6 |
#define | MAX_DEPTH_2 10 |
#define | MAX_DEPTH_3 6 |
#define | MAX_DEPTH_4 4 |
#define | MAX_DEPTH_5 2 |
#define | DBL_To_F_PT(x) (F_PT)( (DBL)(UNIT)*(x) ) |
Typedefs | |
using | DBL = double |
using | F_PT = float |
using | SIMI = struct Similitude_Struct |
using | FRACTAL = struct Fractal_Struct |
using | SimiData = std::array< SIMI, 5 *MAX_SIMI > |
Functions | |
static DBL | Gauss_Rand (DBL c, DBL A, DBL S) |
static DBL | Half_Gauss_Rand (DBL c, DBL A, DBL S) |
static void | Random_Simis (FRACTAL *F, SimiData &simi_set, int offset, int count) |
static void | free_ifs_buffers (FRACTAL *Fractal) |
static void | free_ifs (FRACTAL *Fractal) |
void | init_ifs (int width, int height) |
static void | Transform (SIMI *Simi, F_PT xo, F_PT yo, F_PT *x, F_PT *y) |
static void | Trace (FRACTAL *F, F_PT xo, F_PT yo) |
static void | Draw_Fractal (void) |
IFSPoint * | draw_ifs (int *nbPoints) |
void | release_ifs () |
Variables | |
static FRACTAL * | Root = (FRACTAL *) nullptr |
static FRACTAL * | Cur_F |
IFSPoint * | Buf |
static int | Cur_Pt |
#define DEFAULTS |
#define MAXRAND |
using SIMI = struct Similitude_Struct |
using FRACTAL = struct Fractal_Struct |
Definition at line 154 of file ifs.cpp.
Referenced by Random_Simis().
Definition at line 164 of file ifs.cpp.
Referenced by Random_Simis().
Definition at line 172 of file ifs.cpp.
Referenced by draw_ifs(), and init_ifs().
|
static |
Definition at line 187 of file ifs.cpp.
Referenced by free_ifs(), and init_ifs().
|
static |
Definition at line 201 of file ifs.cpp.
Referenced by init_ifs(), and release_ifs().
void init_ifs | ( | int | width, |
int | height | ||
) |
Definition at line 209 of file ifs.cpp.
Referenced by goom_init(), and goom_set_resolution().
Definition at line 333 of file ifs.cpp.
Referenced by Draw_Fractal(), MythComboBufferVulkan::PushData(), and Trace().
Definition at line 354 of file ifs.cpp.
Referenced by Draw_Fractal().
|
static |
Definition at line 378 of file ifs.cpp.
Referenced by draw_ifs().
IFSPoint* draw_ifs | ( | int * | nbPoints | ) |
Definition at line 454 of file ifs.cpp.
Referenced by ifs_update().
void release_ifs | ( | ) |
Definition at line 528 of file ifs.cpp.
Referenced by goom_close().
Definition at line 145 of file ifs.cpp.
Referenced by Draw_Fractal(), draw_ifs(), init_ifs(), MythTVMenu::ProcessIncludes(), and release_ifs().
|
static |
Definition at line 145 of file ifs.cpp.
Referenced by Draw_Fractal(), and Trace().
IFSPoint* Buf |
Definition at line 148 of file ifs.cpp.
Referenced by BDRead(), Draw_Fractal(), MythBDInfo::MythBDInfo(), MythFileStat(), MythFileStatFD(), and Trace().
|
static |
Definition at line 149 of file ifs.cpp.
Referenced by Draw_Fractal(), draw_ifs(), and Trace().