Blender  V2.93
Macros | Functions
lineart_intern.h File Reference
#include "BLI_linklist.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_threads.h"
#include "DNA_lineart_types.h"
#include <math.h>
#include <string.h>

Go to the source code of this file.

Macros

#define LRT_ITER_ALL_LINES_BEGIN
 
#define LRT_ITER_ALL_LINES_NEXT
 
#define LRT_ITER_ALL_LINES_END
 
#define LRT_BOUND_AREA_CROSSES(b1, b2)    ((b1)[0] < (b2)[1] && (b1)[1] > (b2)[0] && (b1)[3] < (b2)[2] && (b1)[2] > (b2)[3])
 
#define LRT_BA_ROWS   4
 

Functions

void * lineart_list_append_pointer_pool (ListBase *h, struct LineartStaticMemPool *smp, void *data)
 
void * lineart_list_append_pointer_pool_sized (ListBase *h, struct LineartStaticMemPool *smp, void *data, int size)
 
void * list_push_pointer_static (ListBase *h, struct LineartStaticMemPool *smp, void *p)
 
void * list_push_pointer_static_sized (ListBase *h, struct LineartStaticMemPool *smp, void *p, int size)
 
void * lineart_list_pop_pointer_no_free (ListBase *h)
 
void lineart_list_remove_pointer_item_no_free (ListBase *h, LinkData *lip)
 
struct LineartStaticMemPoolNodelineart_mem_new_static_pool (struct LineartStaticMemPool *smp, size_t size)
 
void * lineart_mem_aquire (struct LineartStaticMemPool *smp, size_t size)
 
void * lineart_mem_aquire_thread (struct LineartStaticMemPool *smp, size_t size)
 
void lineart_mem_destroy (struct LineartStaticMemPool *smp)
 
void lineart_prepend_edge_direct (struct LineartEdge **first, void *node)
 
void lineart_prepend_pool (LinkNode **first, struct LineartStaticMemPool *smp, void *link)
 
void lineart_matrix_ortho_44d (double(*mProjection)[4], double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
 
void lineart_matrix_perspective_44d (double(*mProjection)[4], double fFov_rad, double fAspect, double zMin, double zMax)
 
int lineart_count_intersection_segment_count (struct LineartRenderBuffer *rb)
 
void lineart_count_and_print_render_buffer_memory (struct LineartRenderBuffer *rb)
 

Macro Definition Documentation

◆ LRT_BA_ROWS

#define LRT_BA_ROWS   4

Definition at line 113 of file lineart_intern.h.

◆ LRT_BOUND_AREA_CROSSES

#define LRT_BOUND_AREA_CROSSES (   b1,
  b2 
)     ((b1)[0] < (b2)[1] && (b1)[1] > (b2)[0] && (b1)[3] < (b2)[2] && (b1)[2] > (b2)[3])

Definition at line 108 of file lineart_intern.h.

◆ LRT_ITER_ALL_LINES_BEGIN

#define LRT_ITER_ALL_LINES_BEGIN
Value:
LineartEdge *e, *next_e, **current_list; \
e = rb->contours; \
for (current_list = &rb->contours; e; e = next_e) { \
next_e = e->next;
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e

Definition at line 78 of file lineart_intern.h.

◆ LRT_ITER_ALL_LINES_END

#define LRT_ITER_ALL_LINES_END
Value:
}
#define LRT_ITER_ALL_LINES_NEXT

Definition at line 104 of file lineart_intern.h.

◆ LRT_ITER_ALL_LINES_NEXT

#define LRT_ITER_ALL_LINES_NEXT
Value:
while (!next_e) { \
if (current_list == &rb->contours) { \
current_list = &rb->crease_lines; \
} \
else if (current_list == &rb->crease_lines) { \
current_list = &rb->material_lines; \
} \
else if (current_list == &rb->material_lines) { \
current_list = &rb->edge_marks; \
} \
else if (current_list == &rb->edge_marks) { \
current_list = &rb->intersection_lines; \
} \
else { \
break; \
} \
next_e = *current_list; \
}

Definition at line 84 of file lineart_intern.h.

Function Documentation

◆ lineart_count_and_print_render_buffer_memory()

void lineart_count_and_print_render_buffer_memory ( struct LineartRenderBuffer rb)

◆ lineart_count_intersection_segment_count()

int lineart_count_intersection_segment_count ( struct LineartRenderBuffer rb)

◆ lineart_list_append_pointer_pool()

void* lineart_list_append_pointer_pool ( ListBase h,
struct LineartStaticMemPool smp,
void *  data 
)

◆ lineart_list_append_pointer_pool_sized()

void* lineart_list_append_pointer_pool_sized ( ListBase h,
struct LineartStaticMemPool smp,
void *  data,
int  size 
)

◆ lineart_list_pop_pointer_no_free()

void* lineart_list_pop_pointer_no_free ( ListBase h)

Definition at line 66 of file lineart_util.c.

References BLI_pophead(), LinkData::data, and NULL.

Referenced by lineart_bounding_area_split().

◆ lineart_list_remove_pointer_item_no_free()

void lineart_list_remove_pointer_item_no_free ( ListBase h,
LinkData lip 
)

Definition at line 77 of file lineart_util.c.

References BLI_remlink().

Referenced by lineart_bounding_areas_connect_new().

◆ lineart_matrix_ortho_44d()

void lineart_matrix_ortho_44d ( double(*)  mProjection[4],
double  xMin,
double  xMax,
double  yMin,
double  yMax,
double  zMin,
double  zMax 
)

Definition at line 187 of file lineart_util.c.

References unit_m4_db().

Referenced by lineart_main_load_geometries().

◆ lineart_matrix_perspective_44d()

void lineart_matrix_perspective_44d ( double(*)  mProjection[4],
double  fFov_rad,
double  fAspect,
double  zMin,
double  zMax 
)

Definition at line 155 of file lineart_util.c.

References KDL::tan(), and unit_m4_db().

Referenced by lineart_main_load_geometries().

◆ lineart_mem_aquire()

void* lineart_mem_aquire ( struct LineartStaticMemPool smp,
size_t  size 
)

◆ lineart_mem_aquire_thread()

void* lineart_mem_aquire_thread ( struct LineartStaticMemPool smp,
size_t  size 
)

◆ lineart_mem_destroy()

void lineart_mem_destroy ( struct LineartStaticMemPool smp)

Definition at line 130 of file lineart_util.c.

References BLI_pophead(), MEM_freeN, NULL, and LineartStaticMemPool::pools.

Referenced by lineart_destroy_render_data().

◆ lineart_mem_new_static_pool()

struct LineartStaticMemPoolNode* lineart_mem_new_static_pool ( struct LineartStaticMemPool smp,
size_t  size 
)

◆ lineart_prepend_edge_direct()

void lineart_prepend_edge_direct ( struct LineartEdge **  first,
void *  node 
)

◆ lineart_prepend_pool()

void lineart_prepend_pool ( LinkNode **  first,
struct LineartStaticMemPool smp,
void *  link 
)

◆ list_push_pointer_static()

void* list_push_pointer_static ( ListBase h,
struct LineartStaticMemPool smp,
void *  p 
)

◆ list_push_pointer_static_sized()

void* list_push_pointer_static_sized ( ListBase h,
struct LineartStaticMemPool smp,
void *  p,
int  size 
)