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

MOD_screw.c File Reference

#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BKE_cdderivedmesh.h"
#include "depsgraph_private.h"
#include "MOD_modifiertypes.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  ScrewVertConnect
struct  ScrewVertIter

Typedefs

typedef struct ScrewVertConnect ScrewVertConnect
typedef struct ScrewVertIter ScrewVertIter

Functions

static void screwvert_iter_init (ScrewVertIter *iter, ScrewVertConnect *array, int v_init, int dir)
static void screwvert_iter_step (ScrewVertIter *iter)
static void initData (ModifierData *md)
static void copyData (ModifierData *md, ModifierData *target)
static DerivedMeshapplyModifier (ModifierData *md, Object *ob, DerivedMesh *derivedData, int useRenderParams, int UNUSED(isFinalCalc))
static void updateDepgraph (ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene), Object *UNUSED(ob), DagNode *obNode)
static void foreachObjectLink (ModifierData *md, Object *ob, void(*walk)(void *userData, Object *ob, Object **obpoin), void *userData)
static DerivedMeshapplyModifierEM (ModifierData *md, Object *ob, struct EditMesh *UNUSED(editData), DerivedMesh *derivedData)
static int dependsOnTime (ModifierData *UNUSED(md))

Variables

ModifierTypeInfo modifierType_Screw

Detailed Description

Definition in file MOD_screw.c.


Typedef Documentation

typedef struct ScrewVertIter ScrewVertIter

Function Documentation

static DerivedMesh* applyModifier ( ModifierData md,
Object ob,
DerivedMesh derivedData,
int  useRenderParams,
int   UNUSEDisFinalCalc 
) [static]

Definition at line 135 of file MOD_screw.c.

References add_v3_v3(), angle(), ScrewModifierData::angle, angle_v3v3(), ScrewModifierData::axis, axis_angle_to_mat3(), CD_ORIGINDEX, CDDM_calc_normals(), CDDM_from_template(), closest_to_line_v3(), MVert::co, ScrewVertConnect::co, co, copy_m3_m4(), copy_m4_m3(), copy_m4_m4(), copy_v3_v3(), MEdge::crease, cross_v3_v3v3(), ScrewVertConnect::dist, DM_copy_vert_data(), ScrewVertIter::e, ScrewVertConnect::e, fabsf, MEdge::flag, ScrewVertConnect::flag, MFace::flag, ScrewModifierData::flag, DerivedMesh::getEdgeArray, DerivedMesh::getFaceArray, DerivedMesh::getFaceDataArray, DerivedMesh::getNumEdges, DerivedMesh::getNumVerts, DerivedMesh::getVertArray, i, invert_m4_m4(), ScrewModifierData::iter, len_v3(), len_v3v3(), M_PI, madd_v3_v3fl(), ME_EDGEDRAW, ME_EDGERENDER, ME_LOOSEEDGE, ME_SMOOTH, MEM_freeN(), MEM_mallocN(), MOD_SCREW_NORMAL_CALC, MOD_SCREW_NORMAL_FLIP, MOD_SCREW_OBJECT_OFFSET, mul_m4_v3(), mul_mat3_m4_v3(), mul_v3_m3v3(), mult_m4_m4m4(), negate_v3(), ScrewVertConnect::no, MVert::no, normal_float_to_short_v3(), normalize_v3(), normalize_v3_v3(), NULL, ScrewModifierData::ob_axis, Object::obmat, ORIGINDEX_NONE, ScrewModifierData::render_steps, rotate_m4(), ScrewModifierData::screw_ofs, screwvert_iter_init(), screwvert_iter_step(), step(), ScrewModifierData::steps, sub_v3_v3(), sub_v3_v3v3(), SWAP, unit_m4(), ScrewVertIter::v, ScrewVertConnect::v, MEdge::v1, MFace::v1, MEdge::v2, MFace::v2, MFace::v3, MFace::v4, ScrewVertIter::v_poin, and zero_v3().

Referenced by applyModifierEM().

static DerivedMesh* applyModifierEM ( ModifierData md,
Object ob,
struct EditMesh UNUSEDeditData,
DerivedMesh derivedData 
) [static]

Definition at line 862 of file MOD_screw.c.

References applyModifier().

static void copyData ( ModifierData md,
ModifierData target 
) [static]
static int dependsOnTime ( ModifierData UNUSEDmd) [static]

Definition at line 871 of file MOD_screw.c.

static void foreachObjectLink ( ModifierData md,
Object ob,
void(*)(void *userData, Object *ob, Object **obpoin)  walk,
void *  userData 
) [static]

Definition at line 851 of file MOD_screw.c.

References ScrewModifierData::ob_axis.

static void initData ( ModifierData md) [static]
static void screwvert_iter_init ( ScrewVertIter iter,
ScrewVertConnect array,
int  v_init,
int  dir 
) [static]
static void screwvert_iter_step ( ScrewVertIter iter) [static]
static void updateDepgraph ( ModifierData md,
DagForest forest,
struct Scene UNUSEDscene,
Object UNUSEDob,
DagNode obNode 
) [static]

Variable Documentation