-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy path__init__.py
More file actions
65 lines (51 loc) · 2.3 KB
/
__init__.py
File metadata and controls
65 lines (51 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
bl_info = {
"name": "Camera Field",
"author": "Christophe SEUX",
"version": (1, 0, 1),
"blender": (2, 80, 0),
"description": "View camera frustum",
"warning": "",
"wiki_url": "",
"category": "Camera",
}
if "bpy" in locals():
import imp
imp.reload(operators)
imp.reload(panels)
else:
from .operators import *
from .panels import *
class CameraFrustumSettings(bpy.types.PropertyGroup):
only_active: bpy.props.BoolProperty(default=True,
name='Only Active',
description='Project only from active camera')
density: bpy.props.IntProperty(default=2000,
name='Density',
description='Camera frustum point density')
distribution: bpy.props.EnumProperty(items=(('Random',)*3, ('Grid',)*3),
default='Random',
name='Distribution',
description='How the points will be arranged')
class CameraFrustumCameraSettings(bpy.types.PropertyGroup):
enable: bpy.props.BoolProperty(default=True,
name="Enable",
description="Show points for this camera")
color: bpy.props.FloatVectorProperty(default=(1.0, 1.0, 0.0),
min=0.0,
max=1.0,
name="Color",
description="Camera frustum point color",
subtype="COLOR")
classes = (CameraFrustumSettings, CameraFrustumCameraSettings,
CAMERA_PT_FrustumCameraPanel, CAMERA_PT_FrustumPanel,
CAMERA_OT_view_camera_field, CAMERA_OT_bake_field_to_object)
def register():
for cls in classes:
bpy.utils.register_class(cls)
bpy.types.Scene.camera_frustum_settings = bpy.props.PointerProperty(type=CameraFrustumSettings)
bpy.types.Camera.camera_frustum_settings = bpy.props.PointerProperty(type=CameraFrustumCameraSettings)
def unregister():
del bpy.types.Scene.camera_frustum_settings
del bpy.types.Camera.camera_frustum_settings
for cls in classes:
bpy.utils.unregister_class(cls)