fix: eevee specular too high
feat: add pie cutter feat: support 4d time data chora: change operators name docs: update README.md
This commit is contained in:
@@ -1,12 +1,24 @@
|
||||
import bpy
|
||||
|
||||
from .operators import (AddPlaneCutter, AddCylinderCutter, AddCubeCutter, AddSphereCutter, CombineLabels,
|
||||
ConvertToMesh, InvertScalar, FillByLabel, FillByThreshold, FillByRange)
|
||||
from .io import ExportVolumeData, ImportAsLabelLayer, ImportAsScalarLayer, ImportVolumeData, AddVolumeData
|
||||
from .save import ReLinkNodes, SaveLayers, SaveAllToShare
|
||||
from .utils import get_container_from_selection
|
||||
from .operators import (AddPieCutter, AddPlaneCutter, AddCylinderCutter, AddCubeCutter, AddSphereCutter, CombineLabels,
|
||||
ConvertToMesh, InvertScalar, FillByLabel, FillByThreshold, FillByRange, PickBboxWire, PickMesh, PickVolume)
|
||||
from .io import ExportVolumeData, ImportAsLabelLayer, ImportAsScalarLayer
|
||||
from .save import CleanAllCaches, ReLinkNodes, SaveLayers, SaveStagedData
|
||||
|
||||
|
||||
class ModifyLayer(bpy.types.Menu):
|
||||
class PickFromContainerMenu(bpy.types.Menu):
|
||||
bl_idname = "BIOXELNODES_MT_PICK"
|
||||
bl_label = "Pick from Container"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.operator(PickMesh.bl_idname)
|
||||
layout.operator(PickVolume.bl_idname)
|
||||
layout.operator(PickBboxWire.bl_idname)
|
||||
|
||||
|
||||
class ModifyLayerMenu(bpy.types.Menu):
|
||||
bl_idname = "BIOXELNODES_MT_MODIFY_LAYERS"
|
||||
bl_label = "Modify Layer"
|
||||
|
||||
@@ -25,20 +37,21 @@ class AddCutterMenu(bpy.types.Menu):
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.operator(AddPlaneCutter.bl_idname)
|
||||
layout.operator(AddCylinderCutter.bl_idname)
|
||||
layout.operator(AddCubeCutter.bl_idname)
|
||||
layout.operator(AddSphereCutter.bl_idname)
|
||||
layout.operator(AddPlaneCutter.bl_idname, text="Plane Cutter")
|
||||
layout.operator(AddCylinderCutter.bl_idname, text="Cylinder Cutter")
|
||||
layout.operator(AddCubeCutter.bl_idname, text="Cube Cutter")
|
||||
layout.operator(AddSphereCutter.bl_idname, text="Sphere Cutter")
|
||||
layout.operator(AddPieCutter.bl_idname, text="Pie Cutter")
|
||||
|
||||
|
||||
class ImportLayerMenu(bpy.types.Menu):
|
||||
bl_idname = "BIOXELNODES_MT_LAYERS"
|
||||
bl_label = "Import Volume Data as Bioxel"
|
||||
bl_label = "Import Volumetric Data"
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.operator(ImportAsScalarLayer.bl_idname)
|
||||
layout.operator(ImportAsLabelLayer.bl_idname)
|
||||
layout.operator(ImportAsScalarLayer.bl_idname, text="as Scalar")
|
||||
layout.operator(ImportAsLabelLayer.bl_idname, text="as Label")
|
||||
|
||||
|
||||
class BioxelNodesView3DMenu(bpy.types.Menu):
|
||||
@@ -47,9 +60,24 @@ class BioxelNodesView3DMenu(bpy.types.Menu):
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.menu(ImportLayerMenu.bl_idname)
|
||||
layout.menu(AddCutterMenu.bl_idname)
|
||||
layout.operator(ConvertToMesh.bl_idname)
|
||||
containers = get_container_from_selection()
|
||||
is_selected = len(containers) > 0
|
||||
layout.operator(ImportAsScalarLayer.bl_idname,
|
||||
text=ImportAsScalarLayer.bl_label+" (Add to)"
|
||||
if is_selected else ImportAsScalarLayer.bl_label+" (Init)")
|
||||
layout.operator(ImportAsLabelLayer.bl_idname,
|
||||
text=ImportAsLabelLayer.bl_label+" (Add to)"
|
||||
if is_selected else ImportAsLabelLayer.bl_label+" (Init)")
|
||||
layout.separator()
|
||||
layout.operator(AddPlaneCutter.bl_idname)
|
||||
layout.operator(AddCylinderCutter.bl_idname)
|
||||
layout.operator(AddCubeCutter.bl_idname)
|
||||
layout.operator(AddSphereCutter.bl_idname)
|
||||
layout.operator(AddPieCutter.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(PickMesh.bl_idname)
|
||||
layout.operator(PickVolume.bl_idname)
|
||||
layout.operator(PickBboxWire.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(SaveLayers.bl_idname)
|
||||
|
||||
@@ -60,25 +88,51 @@ class BioxelNodesOutlinerMenu(bpy.types.Menu):
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.menu(ImportLayerMenu.bl_idname)
|
||||
layout.menu(AddCutterMenu.bl_idname)
|
||||
layout.operator(ConvertToMesh.bl_idname)
|
||||
containers = get_container_from_selection()
|
||||
is_selected = len(containers) > 0
|
||||
layout.operator(ImportAsScalarLayer.bl_idname,
|
||||
text=ImportAsScalarLayer.bl_label+" (Add to)"
|
||||
if is_selected else ImportAsScalarLayer.bl_label+" (Init)")
|
||||
layout.operator(ImportAsLabelLayer.bl_idname,
|
||||
text=ImportAsLabelLayer.bl_label+" (Add to)"
|
||||
if is_selected else ImportAsLabelLayer.bl_label+" (Init)")
|
||||
layout.separator()
|
||||
layout.menu(ModifyLayer.bl_idname)
|
||||
layout.operator(AddPlaneCutter.bl_idname)
|
||||
layout.operator(AddCylinderCutter.bl_idname)
|
||||
layout.operator(AddCubeCutter.bl_idname)
|
||||
layout.operator(AddSphereCutter.bl_idname)
|
||||
layout.operator(AddPieCutter.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(PickMesh.bl_idname)
|
||||
layout.operator(PickVolume.bl_idname)
|
||||
layout.operator(PickBboxWire.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(SaveLayers.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(InvertScalar.bl_idname)
|
||||
layout.operator(FillByThreshold.bl_idname)
|
||||
layout.operator(FillByRange.bl_idname)
|
||||
layout.operator(FillByLabel.bl_idname)
|
||||
layout.operator(CombineLabels.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(ExportVolumeData.bl_idname)
|
||||
|
||||
|
||||
def TOPBAR_FILE_IMPORT(self, context):
|
||||
layout = self.layout
|
||||
containers = get_container_from_selection()
|
||||
is_selected = len(containers) > 0
|
||||
|
||||
layout.separator()
|
||||
layout.menu(ImportLayerMenu.bl_idname)
|
||||
layout.menu(ImportLayerMenu.bl_idname, text="Volumetric Data as Bioxel (Add to)"
|
||||
if is_selected else "Volumetric Data as Bioxel (Init)")
|
||||
|
||||
|
||||
def TOPBAR_FILE_EXPORT(self, context):
|
||||
layout = self.layout
|
||||
layout.separator()
|
||||
layout.operator(ExportVolumeData.bl_idname)
|
||||
layout.operator(ExportVolumeData.bl_idname,
|
||||
text="Bioxel Layer (.vdb)")
|
||||
|
||||
|
||||
def VIEW3D_OBJECT(self, context):
|
||||
@@ -99,14 +153,19 @@ class BioxelNodesTopbarMenu(bpy.types.Menu):
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.menu(ImportLayerMenu.bl_idname)
|
||||
layout.operator(ExportVolumeData.bl_idname)
|
||||
containers = get_container_from_selection()
|
||||
is_selected = len(containers) > 0
|
||||
|
||||
layout.menu(ImportLayerMenu.bl_idname, text=ImportLayerMenu.bl_label+" (Add to)"
|
||||
if is_selected else ImportLayerMenu.bl_label+" (Init)")
|
||||
layout.separator()
|
||||
layout.menu(AddCutterMenu.bl_idname)
|
||||
layout.operator(ConvertToMesh.bl_idname)
|
||||
layout.menu(PickFromContainerMenu.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(SaveAllToShare.bl_idname)
|
||||
layout.operator(SaveStagedData.bl_idname)
|
||||
layout.operator(ReLinkNodes.bl_idname)
|
||||
layout.separator()
|
||||
layout.operator(CleanAllCaches.bl_idname)
|
||||
|
||||
|
||||
def TOPBAR(self, context):
|
||||
|
||||
Reference in New Issue
Block a user