Blender V2.61 - r43446
Classes | Defines | Functions | Variables

reorganize.h File Reference

#include <float.h>
#include <math.h>
#include <stdio.h>
#include <algorithm>
#include <queue>
#include <vector>
#include "BKE_global.h"

Go to the source code of this file.

Classes

struct  OVBVHNode
struct  VBVH_optimalPackSIMD< Node, TestCost >
struct  VBVH_optimalPackSIMD< Node, TestCost >::calc_best

Defines

#define MAX_CUT_SIZE   4
#define MAX_OPTIMIZE_CHILDS   MAX_CUT_SIZE

Functions

template<class Node >
bool node_fits_inside (Node *a, Node *b)
template<class Node >
void reorganize_find_fittest_parent (Node *tree, Node *node, std::pair< float, Node * > &cost)
template<class Node >
void reorganize (Node *root)
template<class Node >
void remove_useless (Node *node, Node **new_node)
template<class Node >
void pushup (Node *parent)
template<class Node , int SSize>
void pushup_simd (Node *parent)
template<class Node >
void pushdown (Node *parent)
template<class Node >
float bvh_refit (Node *node)

Variables

int tot_pushup
int tot_pushdown
static int tot_moves = 0

Detailed Description

Definition in file reorganize.h.


Define Documentation

#define MAX_CUT_SIZE   4
#define MAX_OPTIMIZE_CHILDS   MAX_CUT_SIZE

Function Documentation

template<class Node >
float bvh_refit ( Node *  node)

Definition at line 284 of file reorganize.h.

References bb_area(), DO_MAX, DO_MIN, INIT_MINMAX, and is_leaf().

Referenced by bvh_done< VBVHTree >().

template<class Node >
bool node_fits_inside ( Node *  a,
Node *  b 
)

Definition at line 58 of file reorganize.h.

References bb_fits_inside().

Referenced by reorganize_find_fittest_parent().

template<class Node >
void pushdown ( Node *  parent)

Definition at line 244 of file reorganize.h.

References bb_fits_inside(), i, next, RE_rayobject_isAligned, and tot_pushdown.

Referenced by bvh_done< VBVHTree >().

template<class Node >
void pushup ( Node *  parent)
template<class Node , int SSize>
void pushup_simd ( Node *  parent)
template<class Node >
void remove_useless ( Node *  node,
Node **  new_node 
)

Definition at line 138 of file reorganize.h.

References next, RenderLayer::prev, and RE_rayobject_isAligned.

Referenced by bvh_done< VBVHTree >().

template<class Node >
void reorganize ( Node *  root)
template<class Node >
void reorganize_find_fittest_parent ( Node *  tree,
Node *  node,
std::pair< float, Node * > &  cost 
)

Definition at line 64 of file reorganize.h.

References bb_area(), min, node_fits_inside(), and RE_rayobject_isAligned.

Referenced by reorganize().


Variable Documentation

int tot_moves = 0 [static]

Definition at line 85 of file reorganize.h.

Referenced by bfree(), and reorganize().

Definition at line 34 of file rayobject_vbvh.cpp.

Referenced by bfree(), and pushdown().

Definition at line 33 of file rayobject_vbvh.cpp.

Referenced by bfree(), and pushup().