For molecular modelers and researchers, having clear and flexible control over visualization parameters can make a big difference in your workflow. Whether you’re crafting publication-ready figures or navigating complex molecular assemblies, the ability to fine-tune light attributes offers a significant advantage. In this blog post, we’ll explore the light attribute space in SAMSON’s Node Specification Language (NSL) and show you how it can enhance your molecular modeling experience.
What are Light Attributes?
In the NSL ecosystem, light attributes refer to a subset of settings specifically for light nodes. Light nodes are elements that influence the lighting of your molecular scene, affecting how objects appear visually. These attributes provide precise control over your light sources, enhancing both artistry and clarity in your molecular representations. Within SAMSON, light attributes are defined under the light attribute space, which has a shorthand name: li.
Key Attributes and Their Uses
The light attributes extend the functionality of general node attributes and include the following:
- hidden (
li.h): Controls whether the light node is hidden or visible. Possible values aretrue(hidden) orfalse(visible). For instance, useli.hto filter hidden light nodes. - name (
li.n): Assigns or queries the name of a light node. You can use string expressions, such asli.n "Spotlight", to find or name your nodes. Patterns using wildcards are also possible, e.g.,li.n "L*". - selected (
li.selected): Checks whether a light node is selected in the workspace. Like other attributes, you can use expressions such asnot li.selectedto exclude unselected light nodes. - selectionFlag (
li.sf): Allows you to toggle selection-related flags. For example, useli.sf falseto set the flag tofalse. - visibilityFlag (
li.vf): Similar to the selection flag, this attribute can be set to control visibility indicators for your light nodes. - visible (
li.v): Enables you to explicitly query or set whether light nodes are visible in the scene. For example,li.vensures that you’re working with visible nodes only.
Together, these attributes provide detailed control over your lights, allowing you to manage visibility, naming, and their selection state in an organized and efficient manner.
Practical Examples
Let’s look at a few practical use cases to make molecular design workflows smoother:
- Find and hide lights: Use
li.visible, paired withli.h, to toggle visibility states dynamically. For instance, combinenot li.handli.vfor scripts that control scene organization. - Organize light sources: Naming conventions can drastically improve modeling efficiency, especially when dealing with complex assemblies. Use patterns like
li.n "Light*to target light nodes with a specific prefix and apply bulk modifications such as alignment.
Inherited Attributes
It’s worth noting that some light attributes are inherited from general node attributes. For instance:
hidden,name,selected, and others originate from node attributes. This inheritance brings consistency across different node types in SAMSON.
Conclusion
Mastering light attributes can help you achieve visually compelling and technically accurate molecular designs. Whether you’re organizing light sources, controlling visibility, or perfecting your name-based workflows, SAMSON’s NSL light attributes make it easy to streamline complex tasks.
To explore these features in detail, visit the complete light attributes documentation.
SAMSON and all SAMSON Extensions are free for non-commercial use. You can download SAMSON at SAMSON Connect.
