Blender V2.61 - r43446
Classes | Typedefs | Enumerations | Functions

BKE_collision.h File Reference

#include <math.h>
#include <float.h>
#include <stdlib.h>
#include <string.h>
#include "BKE_collision.h"
#include "DNA_cloth_types.h"
#include "BLI_kdopbvh.h"

Go to the source code of this file.

Classes

struct  CollPair
struct  EdgeCollPair
struct  FaceCollPair
struct  ColliderCache

Typedefs

typedef struct CollPair CollPair
typedef struct EdgeCollPair EdgeCollPair
typedef struct FaceCollPair FaceCollPair
typedef struct ColliderCache ColliderCache

Enumerations

enum  COLLISION_FLAGS { COLLISION_IN_FUTURE = (1 << 1) }

Functions

BVHTreebvhtree_build_from_mvert (struct MFace *mfaces, unsigned int numfaces, struct MVert *x, unsigned int numverts, float epsilon)
void bvhtree_update_from_mvert (BVHTree *bvhtree, struct MFace *faces, int numfaces, struct MVert *x, struct MVert *xnew, int numverts, int moving)
struct LinkNodeBLI_linklist_append_fast (struct LinkNode **listp, void *ptr)
void collision_move_object (struct CollisionModifierData *collmd, float step, float prevstep)
void collisions_compute_barycentric (float pv[3], float p1[3], float p2[3], float p3[3], float *w1, float *w2, float *w3)
void interpolateOnTriangle (float to[3], float v1[3], float v2[3], float v3[3], double w1, double w2, double w3)
struct Object ** get_collisionobjects (struct Scene *scene, struct Object *self, struct Group *group, unsigned int *numcollobj)
struct ListBaseget_collider_cache (struct Scene *scene, struct Object *self, struct Group *group)
void free_collider_cache (struct ListBase **colliders)

Detailed Description

Author:
Daniel Genrich

Definition in file BKE_collision.h.


Typedef Documentation

typedef struct ColliderCache ColliderCache
typedef struct CollPair CollPair
typedef struct EdgeCollPair EdgeCollPair
typedef struct FaceCollPair FaceCollPair

Enumeration Type Documentation

Enumerator:
COLLISION_IN_FUTURE 

Definition at line 62 of file BKE_collision.h.


Function Documentation

struct LinkNode* BLI_linklist_append_fast ( struct LinkNode **  listp,
void *  ptr 
) [read]
BVHTree* bvhtree_build_from_mvert ( struct MFace mfaces,
unsigned int  numfaces,
struct MVert x,
unsigned int  numverts,
float  epsilon 
)

Referenced by deformVerts().

void bvhtree_update_from_mvert ( BVHTree bvhtree,
struct MFace faces,
int  numfaces,
struct MVert x,
struct MVert xnew,
int  numverts,
int  moving 
)
void collision_move_object ( struct CollisionModifierData collmd,
float  step,
float  prevstep 
)
void collisions_compute_barycentric ( float  pv[3],
float  p1[3],
float  p2[3],
float  p3[3],
float *  w1,
float *  w2,
float *  w3 
)
void free_collider_cache ( struct ListBase **  colliders)

Definition at line 2257 of file collision.c.

References BLI_freelistN(), MEM_freeN(), and NULL.

Referenced by dynamics_step(), eff_calc_visibility(), and hair_velocity_smoothing().

struct ListBase* get_collider_cache ( struct Scene scene,
struct Object self,
struct Group group 
) [read]
struct Object** get_collisionobjects ( struct Scene scene,
struct Object self,
struct Group group,
unsigned int *  numcollobj 
) [read]
void interpolateOnTriangle ( float  to[3],
float  v1[3],
float  v2[3],
float  v3[3],
double  w1,
double  w2,
double  w3 
)