Blender V2.61 - r43446
|
#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 DerivedMesh * | applyModifier (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 DerivedMesh * | applyModifierEM (ModifierData *md, Object *ob, struct EditMesh *UNUSED(editData), DerivedMesh *derivedData) |
static int | dependsOnTime (ModifierData *UNUSED(md)) |
Variables | |
ModifierTypeInfo | modifierType_Screw |
Definition in file MOD_screw.c.
typedef struct ScrewVertConnect ScrewVertConnect |
typedef struct ScrewVertIter ScrewVertIter |
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] |
Definition at line 120 of file MOD_screw.c.
References ScrewModifierData::angle, ScrewModifierData::axis, ScrewModifierData::flag, ScrewModifierData::iter, ScrewModifierData::ob_axis, ScrewModifierData::render_steps, ScrewModifierData::screw_ofs, and ScrewModifierData::steps.
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] |
Definition at line 108 of file MOD_screw.c.
References ScrewModifierData::angle, ScrewModifierData::axis, ScrewModifierData::flag, ScrewModifierData::iter, M_PI, NULL, ScrewModifierData::ob_axis, ScrewModifierData::render_steps, and ScrewModifierData::steps.
static void screwvert_iter_init | ( | ScrewVertIter * | iter, |
ScrewVertConnect * | array, | ||
int | v_init, | ||
int | dir | ||
) | [static] |
Definition at line 70 of file MOD_screw.c.
References ScrewVertIter::e, ScrewVertConnect::e, NULL, ScrewVertIter::v, ScrewVertConnect::v, ScrewVertIter::v_array, ScrewVertIter::v_other, and ScrewVertIter::v_poin.
Referenced by applyModifier().
static void screwvert_iter_step | ( | ScrewVertIter * | iter | ) | [static] |
Definition at line 87 of file MOD_screw.c.
References ScrewVertIter::e, ScrewVertConnect::e, NULL, ScrewVertIter::v, ScrewVertConnect::v, ScrewVertIter::v_array, ScrewVertIter::v_other, and ScrewVertIter::v_poin.
Referenced by applyModifier().
static void updateDepgraph | ( | ModifierData * | md, |
DagForest * | forest, | ||
struct Scene * | UNUSEDscene, | ||
Object * | UNUSEDob, | ||
DagNode * | obNode | ||
) | [static] |
Definition at line 835 of file MOD_screw.c.
References dag_add_relation(), dag_get_node(), DAG_RL_DATA_DATA, DAG_RL_OB_DATA, and ScrewModifierData::ob_axis.
{ "Screw", "ScrewModifierData", sizeof(ScrewModifierData), eModifierTypeType_Constructive, eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_AcceptsCVs | eModifierTypeFlag_SupportsEditmode | eModifierTypeFlag_EnableInEditmode, copyData, NULL, NULL, NULL, NULL, applyModifier, applyModifierEM, initData, NULL, NULL, NULL, updateDepgraph, dependsOnTime, NULL, foreachObjectLink, NULL, NULL, }
Definition at line 877 of file MOD_screw.c.