forked from bartvdbraak/blender
Style Cleanup
This commit is contained in:
parent
e9e08a1d12
commit
509f169011
@ -790,7 +790,7 @@ class LodByName(Operator):
|
|||||||
def execute(self, context):
|
def execute(self, context):
|
||||||
scene = context.scene
|
scene = context.scene
|
||||||
ob = context.active_object
|
ob = context.active_object
|
||||||
|
|
||||||
prefix = ""
|
prefix = ""
|
||||||
suffix = ""
|
suffix = ""
|
||||||
name = ""
|
name = ""
|
||||||
@ -855,11 +855,20 @@ class LodGenerate(Operator):
|
|||||||
bl_label = "Generate Levels of Detail"
|
bl_label = "Generate Levels of Detail"
|
||||||
bl_options = {'REGISTER', 'UNDO'}
|
bl_options = {'REGISTER', 'UNDO'}
|
||||||
|
|
||||||
count = bpy.props.IntProperty(name="Count", default=3)
|
count = IntProperty(
|
||||||
target = bpy.props.FloatProperty(name="Target Size", default=0.1,
|
name="Count",
|
||||||
min=0.0, max=1.0)
|
default=3,
|
||||||
package = bpy.props.BoolProperty(name="Package into Group", default=False)
|
)
|
||||||
|
target = FloatProperty(
|
||||||
|
name="Target Size",
|
||||||
|
min=0.0, max=1.0,
|
||||||
|
default=0.1,
|
||||||
|
)
|
||||||
|
package = BoolProperty(
|
||||||
|
name="Package into Group",
|
||||||
|
default=False,
|
||||||
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def poll(cls, context):
|
def poll(cls, context):
|
||||||
return (context.active_object is not None)
|
return (context.active_object is not None)
|
||||||
@ -899,7 +908,7 @@ class LodGenerate(Operator):
|
|||||||
if lod_prefix:
|
if lod_prefix:
|
||||||
lod.name = lod_prefix + str(i) + lod_name
|
lod.name = lod_prefix + str(i) + lod_name
|
||||||
else:
|
else:
|
||||||
lod.name = lod_name + lod_suffix + str(i)
|
lod.name = lod_name + lod_suffix + str(i)
|
||||||
|
|
||||||
lod.location.y = ob.location.y + 3.0 * i
|
lod.location.y = ob.location.y + 3.0 * i
|
||||||
|
|
||||||
@ -907,8 +916,8 @@ class LodGenerate(Operator):
|
|||||||
modifier = lod.modifiers.new("lod_decimate", "DECIMATE")
|
modifier = lod.modifiers.new("lod_decimate", "DECIMATE")
|
||||||
else:
|
else:
|
||||||
modifier = lod.modifiers[-1]
|
modifier = lod.modifiers[-1]
|
||||||
|
|
||||||
modifier.ratio = 1.0 - step*(i)
|
modifier.ratio = 1.0 - step * i
|
||||||
|
|
||||||
ob.lod_levels[i].object = lod
|
ob.lod_levels[i].object = lod
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ class OBJECT_MT_lod_tools(Menu):
|
|||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
|
||||||
layout.operator("object.lod_by_name", text="Set By Name")
|
layout.operator("object.lod_by_name", text="Set By Name")
|
||||||
layout.operator("object.lod_generate", text="Generate")
|
layout.operator("object.lod_generate", text="Generate")
|
||||||
layout.operator("object.lod_clear_all", text="Clear All", icon='PANEL_CLOSE')
|
layout.operator("object.lod_clear_all", text="Clear All", icon='PANEL_CLOSE')
|
||||||
@ -151,7 +151,8 @@ class OBJECT_PT_levels_of_detail(ObjectButtonsPanel, Panel):
|
|||||||
col = layout.column()
|
col = layout.column()
|
||||||
|
|
||||||
for i, level in enumerate(ob.lod_levels):
|
for i, level in enumerate(ob.lod_levels):
|
||||||
if i == 0: continue
|
if i == 0:
|
||||||
|
continue
|
||||||
box = col.box()
|
box = col.box()
|
||||||
row = box.row()
|
row = box.row()
|
||||||
row.prop(level, "object", text="")
|
row.prop(level, "object", text="")
|
||||||
|
@ -1046,8 +1046,8 @@ void BKE_object_lod_add(Object *ob)
|
|||||||
|
|
||||||
static int lod_cmp(void *a, void *b)
|
static int lod_cmp(void *a, void *b)
|
||||||
{
|
{
|
||||||
LodLevel *loda = (LodLevel*)a;
|
LodLevel *loda = (LodLevel *)a;
|
||||||
LodLevel *lodb = (LodLevel*)b;
|
LodLevel *lodb = (LodLevel *)b;
|
||||||
|
|
||||||
if (loda->distance < lodb->distance) return -1;
|
if (loda->distance < lodb->distance) return -1;
|
||||||
return loda->distance > lodb->distance;
|
return loda->distance > lodb->distance;
|
||||||
@ -1085,7 +1085,7 @@ bool BKE_object_lod_remove(Object *ob, int level)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static LodLevel* lod_level_select(Object *ob, float cam_loc[3])
|
static LodLevel *lod_level_select(Object *ob, const float cam_loc[3])
|
||||||
{
|
{
|
||||||
LodLevel *current = ob->currentlod;
|
LodLevel *current = ob->currentlod;
|
||||||
float ob_loc[3], delta[3];
|
float ob_loc[3], delta[3];
|
||||||
@ -1097,15 +1097,15 @@ static LodLevel* lod_level_select(Object *ob, float cam_loc[3])
|
|||||||
sub_v3_v3v3(delta, ob_loc, cam_loc);
|
sub_v3_v3v3(delta, ob_loc, cam_loc);
|
||||||
distance2 = len_squared_v3(delta);
|
distance2 = len_squared_v3(delta);
|
||||||
|
|
||||||
/* check for higher LoD */
|
|
||||||
if (distance2 < current->distance*current->distance) {
|
if (distance2 < current->distance*current->distance) {
|
||||||
while (current->prev && distance2 < current->distance*current->distance) {
|
/* check for higher LoD */
|
||||||
|
while (current->prev && distance2 < (current->distance * current->distance)) {
|
||||||
current = current->prev;
|
current = current->prev;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* check for lower LoD */
|
|
||||||
else {
|
else {
|
||||||
while (current->next && distance2 > current->next->distance*current->next->distance) {
|
/* check for lower LoD */
|
||||||
|
while (current->next && distance2 > (current->next->distance * current->next->distance)) {
|
||||||
current = current->next;
|
current = current->next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1121,8 +1121,8 @@ bool BKE_object_lod_is_usable(Object *ob, Scene *scene)
|
|||||||
|
|
||||||
bool BKE_object_lod_update(Object *ob, float camera_position[3])
|
bool BKE_object_lod_update(Object *ob, float camera_position[3])
|
||||||
{
|
{
|
||||||
LodLevel* cur_level = ob->currentlod;
|
LodLevel *cur_level = ob->currentlod;
|
||||||
LodLevel* new_level = lod_level_select(ob, camera_position);
|
LodLevel *new_level = lod_level_select(ob, camera_position);
|
||||||
|
|
||||||
if (new_level != cur_level) {
|
if (new_level != cur_level) {
|
||||||
ob->currentlod = new_level;
|
ob->currentlod = new_level;
|
||||||
@ -1139,7 +1139,7 @@ static Object *lod_ob_get(Object *ob, Scene *scene, int flag)
|
|||||||
if (!current || !BKE_object_lod_is_usable(ob, scene))
|
if (!current || !BKE_object_lod_is_usable(ob, scene))
|
||||||
return ob;
|
return ob;
|
||||||
|
|
||||||
while( current->prev && (!(current->flags & flag) || !current->source || current->source->type != OB_MESH)) {
|
while (current->prev && (!(current->flags & flag) || !current->source || current->source->type != OB_MESH)) {
|
||||||
current = current->prev;
|
current = current->prev;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1372,9 +1372,9 @@ static void copy_object_lod(Object *obn, Object *ob)
|
|||||||
BLI_duplicatelist(&obn->lodlevels, &ob->lodlevels);
|
BLI_duplicatelist(&obn->lodlevels, &ob->lodlevels);
|
||||||
|
|
||||||
if (obn->lodlevels.first)
|
if (obn->lodlevels.first)
|
||||||
((LodLevel*)obn->lodlevels.first)->source = obn;
|
((LodLevel *)obn->lodlevels.first)->source = obn;
|
||||||
|
|
||||||
obn->currentlod = (LodLevel*) obn->lodlevels.first;
|
obn->currentlod = (LodLevel *)obn->lodlevels.first;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BKE_object_pose_context_check(Object *ob)
|
bool BKE_object_pose_context_check(Object *ob)
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
#include "object_intern.h"
|
#include "object_intern.h"
|
||||||
|
|
||||||
static int object_lod_add_exec(bContext *C, wmOperator *op)
|
static int object_lod_add_exec(bContext *C, wmOperator *UNUSED(op))
|
||||||
{
|
{
|
||||||
Object *ob = ED_object_context(C);
|
Object *ob = ED_object_context(C);
|
||||||
BKE_object_lod_add(ob);
|
BKE_object_lod_add(ob);
|
||||||
@ -57,8 +57,6 @@ static int object_lod_add_exec(bContext *C, wmOperator *op)
|
|||||||
|
|
||||||
void OBJECT_OT_lod_add(wmOperatorType *ot)
|
void OBJECT_OT_lod_add(wmOperatorType *ot)
|
||||||
{
|
{
|
||||||
PropertyRNA *prop;
|
|
||||||
|
|
||||||
/* identifiers */
|
/* identifiers */
|
||||||
ot->name = "Add Level of Detail";
|
ot->name = "Add Level of Detail";
|
||||||
ot->description = "Add a level of detail to this object";
|
ot->description = "Add a level of detail to this object";
|
||||||
@ -76,10 +74,11 @@ static int object_lod_remove_exec(bContext *C, wmOperator *op)
|
|||||||
{
|
{
|
||||||
Object *ob = ED_object_context(C);
|
Object *ob = ED_object_context(C);
|
||||||
int index = RNA_int_get(op->ptr, "index");
|
int index = RNA_int_get(op->ptr, "index");
|
||||||
if(!BKE_object_lod_remove(ob, index))
|
|
||||||
|
if (!BKE_object_lod_remove(ob, index))
|
||||||
return OPERATOR_CANCELLED;
|
return OPERATOR_CANCELLED;
|
||||||
|
|
||||||
WM_event_add_notifier(C, NC_OBJECT|ND_LOD, CTX_wm_view3d(C));
|
WM_event_add_notifier(C, NC_OBJECT | ND_LOD, CTX_wm_view3d(C));
|
||||||
return OPERATOR_FINISHED;
|
return OPERATOR_FINISHED;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,4 +98,4 @@ void OBJECT_OT_lod_remove(wmOperatorType *ot)
|
|||||||
|
|
||||||
/* properties */
|
/* properties */
|
||||||
ot->prop = RNA_def_int(ot->srna, "index", 1, 1, INT_MAX, "Index", "", 1, INT_MAX);
|
ot->prop = RNA_def_int(ot->srna, "index", 1, 1, INT_MAX, "Index", "", 1, INT_MAX);
|
||||||
}
|
}
|
||||||
|
@ -1472,7 +1472,7 @@ int rna_Object_use_dynamic_topology_sculpting_get(PointerRNA *ptr)
|
|||||||
return (ss && ss->bm);
|
return (ss && ss->bm);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rna_Object_lod_distance_update(Main *bmain, Scene *scene, PointerRNA *ptr)
|
static void rna_Object_lod_distance_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||||
{
|
{
|
||||||
Object *ob = (Object *)ptr->id.data;
|
Object *ob = (Object *)ptr->id.data;
|
||||||
BKE_object_lod_sort(ob);
|
BKE_object_lod_sort(ob);
|
||||||
@ -2036,7 +2036,7 @@ static void rna_def_object_vertex_groups(BlenderRNA *brna, PropertyRNA *cprop)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void rna_def_object_lodlevel(BlenderRNA* brna)
|
static void rna_def_object_lodlevel(BlenderRNA *brna)
|
||||||
{
|
{
|
||||||
StructRNA *srna;
|
StructRNA *srna;
|
||||||
PropertyRNA *prop;
|
PropertyRNA *prop;
|
||||||
@ -2048,26 +2048,26 @@ static void rna_def_object_lodlevel(BlenderRNA* brna)
|
|||||||
RNA_def_property_float_sdna(prop, NULL, "distance");
|
RNA_def_property_float_sdna(prop, NULL, "distance");
|
||||||
RNA_def_property_range(prop, 0.0, FLT_MAX);
|
RNA_def_property_range(prop, 0.0, FLT_MAX);
|
||||||
RNA_def_property_ui_text(prop, "Distance", "Distance to begin using this level of detail");
|
RNA_def_property_ui_text(prop, "Distance", "Distance to begin using this level of detail");
|
||||||
RNA_def_property_update(prop, NC_OBJECT|ND_LOD, "rna_Object_lod_distance_update");
|
RNA_def_property_update(prop, NC_OBJECT | ND_LOD, "rna_Object_lod_distance_update");
|
||||||
|
|
||||||
prop = RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
|
prop = RNA_def_property(srna, "object", PROP_POINTER, PROP_NONE);
|
||||||
RNA_def_property_pointer_sdna(prop, NULL, "source");
|
RNA_def_property_pointer_sdna(prop, NULL, "source");
|
||||||
RNA_def_property_struct_type(prop, "Object");
|
RNA_def_property_struct_type(prop, "Object");
|
||||||
RNA_def_property_flag(prop, PROP_EDITABLE);
|
RNA_def_property_flag(prop, PROP_EDITABLE);
|
||||||
RNA_def_property_ui_text(prop, "Object", "Object to use for this level of detail");
|
RNA_def_property_ui_text(prop, "Object", "Object to use for this level of detail");
|
||||||
RNA_def_property_update(prop, NC_OBJECT|ND_LOD, NULL);
|
RNA_def_property_update(prop, NC_OBJECT | ND_LOD, NULL);
|
||||||
|
|
||||||
prop = RNA_def_property(srna, "use_mesh", PROP_BOOLEAN, PROP_NONE);
|
prop = RNA_def_property(srna, "use_mesh", PROP_BOOLEAN, PROP_NONE);
|
||||||
RNA_def_property_boolean_sdna(prop, NULL, "flags", OB_LOD_USE_MESH);
|
RNA_def_property_boolean_sdna(prop, NULL, "flags", OB_LOD_USE_MESH);
|
||||||
RNA_def_property_ui_text(prop, "Use Mesh", "Use the mesh from this object at this level of detail");
|
RNA_def_property_ui_text(prop, "Use Mesh", "Use the mesh from this object at this level of detail");
|
||||||
RNA_def_property_ui_icon(prop, ICON_MESH_DATA, 0);
|
RNA_def_property_ui_icon(prop, ICON_MESH_DATA, 0);
|
||||||
RNA_def_property_update(prop, NC_OBJECT|ND_LOD, NULL);
|
RNA_def_property_update(prop, NC_OBJECT | ND_LOD, NULL);
|
||||||
|
|
||||||
prop = RNA_def_property(srna, "use_material", PROP_BOOLEAN, PROP_NONE);
|
prop = RNA_def_property(srna, "use_material", PROP_BOOLEAN, PROP_NONE);
|
||||||
RNA_def_property_boolean_sdna(prop, NULL, "flags", OB_LOD_USE_MAT);
|
RNA_def_property_boolean_sdna(prop, NULL, "flags", OB_LOD_USE_MAT);
|
||||||
RNA_def_property_ui_text(prop, "Use Material", "Use the material from this object at this level of detail");
|
RNA_def_property_ui_text(prop, "Use Material", "Use the material from this object at this level of detail");
|
||||||
RNA_def_property_ui_icon(prop, ICON_MATERIAL, 0);
|
RNA_def_property_ui_icon(prop, ICON_MATERIAL, 0);
|
||||||
RNA_def_property_update(prop, NC_OBJECT|ND_LOD, NULL);
|
RNA_def_property_update(prop, NC_OBJECT | ND_LOD, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2736,7 +2736,7 @@ static void rna_def_object(BlenderRNA *brna)
|
|||||||
RNA_def_property_collection_sdna(prop, NULL, "lodlevels", NULL);
|
RNA_def_property_collection_sdna(prop, NULL, "lodlevels", NULL);
|
||||||
RNA_def_property_struct_type(prop, "LodLevel");
|
RNA_def_property_struct_type(prop, "LodLevel");
|
||||||
RNA_def_property_ui_text(prop, "Level of Detail Levels", "A collection of detail levels to automatically switch between");
|
RNA_def_property_ui_text(prop, "Level of Detail Levels", "A collection of detail levels to automatically switch between");
|
||||||
RNA_def_property_update(prop, NC_OBJECT|ND_LOD, NULL);
|
RNA_def_property_update(prop, NC_OBJECT | ND_LOD, NULL);
|
||||||
|
|
||||||
RNA_api_object(srna);
|
RNA_api_object(srna);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user