33#include "VulkanDefines.h"
34#include <NDEVR/Geometry.h>
74 flag[0] =
object.flag[0];
75 flag[1] =
object.flag[1];
76 flag[2] =
object.flag[2];
77 flag[3] =
object.flag[3];
125 for (
uint01 i = 0; i < 4; i++)
134 return flag[0] ==
object.flag[0]
135 &&
flag[1] ==
object.flag[1]
136 &&
flag[2] ==
object.flag[2]
137 &&
flag[3] ==
object.flag[3];
144 return flag[0] !=
object.flag[0]
145 ||
flag[1] !=
object.flag[1]
146 ||
flag[2] !=
object.flag[2]
147 ||
flag[3] !=
object.flag[3];
A bitset that stores 8 bits (elements with only two possible values: 0 or 1, true or false,...
The primary namespace for the NDEVR SDK.
@ type
The type identifier string for this model node.
VertexProperty
Per-vertex data channels that can be stored in the vertex table to be used by Geometry.
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
constexpr t_to cast(const Angle< t_from > &value)
Casts an Angle from one backing type to another.
void set(const ModelProperties &property, bool value)
Sets a model property flag.
void set(const VertexProperty &property, bool value)
Sets a vertex property flag.
void setHasImage(uint01 type, bool has_image)
Sets whether a specific image type is present.
VulkanBitflagObject()
Default constructor initializing all flags to zero.
void setRenderProperty(RenderProperties property, bool value)
Sets a render property flag.
void setExtra(bool value)
Sets the extra bit in flag[0] bit 7.
BitFlag flag[4]
Array of four BitFlag values: [0]=vertex, [1]=model, [2]=render, [3]=image.
VulkanBitflagObject(const VulkanBitflagObject &object)
Copy constructor.
VulkanBitflagObject & operator=(const VulkanBitflagObject &object)
Copy assignment operator.
bool operator==(const VulkanBitflagObject &object) const
Equality comparison operator.
bool get(const ModelProperties &property) const
Gets the value of a model property flag.
bool operator!=(const VulkanBitflagObject &object) const
Inequality comparison operator.
ModelProperties
Properties describing the state of a model within the 3D scene.
@ e_scale_to_camera
Whether the model should scale based on camera distance.
@ e_3D_focussed
Whether the model is currently focused in the 3D view.
@ e_orient_to_camera
Whether the model should orient itself toward the camera.
@ e_3D_selected
Whether the model is currently selected in the 3D view.
@ e_follow_camera
Whether the model should follow the camera position.
RenderProperties
Properties controlling how geometry is rendered.
@ e_smooth_normals
Whether normals should be interpolated for smooth shading.
@ e_use_linework_model_coord
Whether to use model coordinates for linework.
@ e_use_texture_model_coord
Whether to use model coordinates for texture mapping.
@ e_parity
Whether parity-based culling is enabled.
@ e_use_lighting
Whether lighting calculations should be applied.
@ e_use_custom_color
Whether to use a custom color override.
@ e_wireframe
Whether the object should render as wireframe.