Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonioya <blendergit@gmail.com>2018-10-28 20:08:24 +0300
committerAntonioya <blendergit@gmail.com>2018-10-28 20:20:50 +0300
commit39bc44ffc59ef1ad96893ce838c3a3484d072f44 (patch)
tree9a807126c06dd097be6ecda3968ffbcb12bf7bba /source/blender/blenkernel
parent9bcdb19a3e0270a0e8727290111e4a1d6e15a944 (diff)
GP: Refactor Instance modifier and rename to Array
The old name Instance was logic when the modifier created new object instances, but now works equal to mesh Array modifier, so the old name was not logic and must be Array. Also added a Object to use as offset similar to mesh Array modifier.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_gpencil.h2
-rw-r--r--source/blender/blenkernel/BKE_gpencil_modifier.h2
-rw-r--r--source/blender/blenkernel/intern/gpencil_modifier.c41
3 files changed, 1 insertions, 44 deletions
diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h
index 8ab088eff02..1debfecc895 100644
--- a/source/blender/blenkernel/BKE_gpencil.h
+++ b/source/blender/blenkernel/BKE_gpencil.h
@@ -50,7 +50,7 @@ struct Brush;
struct Object;
struct bDeformGroup;
struct SimplifyGpencilModifierData;
-struct InstanceGpencilModifierData;
+struct ArrayGpencilModifierData;
struct LatticeGpencilModifierData;
struct MDeformVert;
diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h
index 5efc390015c..91f368613cb 100644
--- a/source/blender/blenkernel/BKE_gpencil_modifier.h
+++ b/source/blender/blenkernel/BKE_gpencil_modifier.h
@@ -234,8 +234,6 @@ typedef struct GpencilModifierTypeInfo {
GreasePencilTexWalkFunc walk, void *userData);
} GpencilModifierTypeInfo;
-void BKE_gpencil_instance_modifier_instance_tfm(struct InstanceGpencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4]);
-
/* Initialize modifier's global data (type info and some common global storages). */
void BKE_gpencil_modifier_init(void);
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index abf6268a9a3..68691cd3d05 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -720,47 +720,6 @@ GpencilModifierData *BKE_gpencil_modifiers_findByName(Object *ob, const char *na
return BLI_findstring(&(ob->greasepencil_modifiers), name, offsetof(GpencilModifierData, name));
}
-/* helper function for per-instance positioning */
-void BKE_gpencil_instance_modifier_instance_tfm(InstanceGpencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4])
-{
- float offset[3], rot[3], scale[3];
- int ri = mmd->rnd[0];
- float factor;
-
- offset[0] = mmd->offset[0] * elem_idx[0];
- offset[1] = mmd->offset[1] * elem_idx[1];
- offset[2] = mmd->offset[2] * elem_idx[2];
-
- /* rotation */
- if (mmd->flag & GP_INSTANCE_RANDOM_ROT) {
- factor = mmd->rnd_rot * mmd->rnd[ri];
- mul_v3_v3fl(rot, mmd->rot, factor);
- add_v3_v3(rot, mmd->rot);
- }
- else {
- copy_v3_v3(rot, mmd->rot);
- }
-
- /* scale */
- if (mmd->flag & GP_INSTANCE_RANDOM_SIZE) {
- factor = mmd->rnd_size * mmd->rnd[ri];
- mul_v3_v3fl(scale, mmd->scale, factor);
- add_v3_v3(scale, mmd->scale);
- }
- else {
- copy_v3_v3(scale, mmd->scale);
- }
-
- /* advance random index */
- mmd->rnd[0]++;
- if (mmd->rnd[0] > 19) {
- mmd->rnd[0] = 1;
- }
-
- /* calculate matrix */
- loc_eul_size_to_mat4(r_mat, offset, rot, scale);
-}
-
void BKE_gpencil_subdivide(bGPDstroke *gps, int level, int flag)
{
bGPDspoint *temp_points;