* @param[in] origin Origin of ray
* @param[in] direction Direction of ray
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @return Valid FaceIndex on hit or NULL_FACE on miss
*/
[[nodiscard]] FaceIndex RayFaceIntersect(const Vector3& origin, const Vector3& direction) const;
* @class WayPoint
*
* The class represents a public interface to the WayPoint object
+ * @SINCE_2_2.12
*/
class DALI_SCENE3D_API WayPoint
{
public:
/**
* @brief Constructor
+ * @SINCE_2_2.12
*/
WayPoint();
/**
* @brief Destructor
+ * @SINCE_2_2.12
*/
~WayPoint();
* Function returns index of face withing the NavigationMesh
* that the waypoint is associated with.
*
+ * @SINCE_2_2.12
* @return Valid index of the face
*/
[[nodiscard]] uint32_t GetNavigationMeshFaceIndex() const;
* The face space uses the face barycentre as an origin. The x-axis is
* aligned with x-axis of the NavigationMesh.
*
+ * @SINCE_2_2.12
* @return Valid 2D location vector
*/
[[nodiscard]] Dali::Vector2 GetFaceLocalSpacePosition() const;
* of associated NavigationMesh object (using transformation set with
* NavigationMesh::SetSceneTransform()).
*
+ * @SINCE_2_2.12
* @return Valid 3D location vector
*/
[[nodiscard]] Dali::Vector3 GetScenePosition() const;
* @brief Copy constructor
*
* Only copy semantics is allowed on the WayPoint object
+ * @SINCE_2_2.12
*/
WayPoint(const WayPoint&);
*
* Only copy semantics is allowed on the WayPoint object
*
+ * @SINCE_2_2.12
* @return Copy of source object
*/
WayPoint& operator=(const WayPoint&);
*/
enum class PathFinderAlgorithm
{
- DIJKSTRA_SHORTEST_PATH, ///< Using A* variant (Dijkstra) finding a shortest path
- SPFA, ///< Using SPFA-SLF (Shortest Path Fast Algorithm with Short Label First) finding a shortest path.
- SPFA_DOUBLE_WAY, ///< Using SPFA-SLF double way. It might not find shortest, but will use less memory.
+ DIJKSTRA_SHORTEST_PATH, ///< Using A* variant (Dijkstra) finding a shortest path. @SINCE_2_2.12
+ SPFA, ///< Using SPFA-SLF (Shortest Path Fast Algorithm with Short Label First) finding a shortest path. @SINCE_2_2.12
+ SPFA_DOUBLE_WAY, ///< Using SPFA-SLF double way. It might not find shortest, but will use less memory. @SINCE_2_2.12
DEFAULT = DIJKSTRA_SHORTEST_PATH, ///< Default algorithm to use
};
* @class PathFinderBase
*
* Base class for implementation of pathfinding algorithms.
+ * @SINCE_2_2.12
*/
class DALI_SCENE3D_API PathFinderBase
{
public:
/**
* @brief Destructor
+ * @SINCE_2_2.12
*/
virtual ~PathFinderBase() = default;
/**
* @brief Looks for a path from point A to point B.
*
+ * @SINCE_2_2.12
* @param[in] positionFrom source position in NavigationMesh parent space
* @param[in] positionTo target position in NavigationMesh parent space
* @return List of waypoints for path or empty vector if no success
/**
* @brief Finds path between NavigationMesh faces
*
+ * @SINCE_2_2.12
* @param[in] polyIndexFrom Index of start polygon
* @param[in] polyIndexTo Index of end polygon
* @return List of waypoints for path or empty vector if no success
*
* PathFinder runs path finding algorithm on associated NavigationMesh
* and returns a list of waypoints.
+ * @SINCE_2_2.12
*/
class DALI_SCENE3D_API PathFinder
{
public:
/**
* @brief Creates new instance of path finder
+ * @SINCE_2_2.12
* @param[in] navigationMesh Navigation mesh to associate with
* @param[in] algorithm algorithm to use
* @return Valid pointer to PathFinder object or nullptr
*
* Both points should be defined in the same space as is used by the NavigationMesh.
*
+ * @SINCE_2_2.12
* @param[in] positionFrom Source position
* @param[in] positionTo Target position
* @return List of waypoints for path or empty list on failure
* - index < 0 or index > NavigationMesh::GetFaceCount()
* - The path doesn't exist
*
+ * @SINCE_2_2.12
* @param[in] faceIndexFrom Source face index
* @param[in] faceIndexTo Target face index
* @return List of waypoints for path or empty list on failure
{
public:
// Typedefs
- using MeshHitSignalType = Signal<bool(Model, Scene3D::ModelNode)>; ///< Mesh hit signal type @SINCE_2_2.99 TODO: See what parameters need to be added
+ using MeshHitSignalType = Signal<bool(Model, Scene3D::ModelNode)>; ///< Mesh hit signal type @SINCE_2_2.53
using ColliderMeshPtr = std::unique_ptr<Algorithm::NavigationMesh>;
/**
* @brief Add new ModelNode to this Model.
* This modelNode will become child of ModelRoot.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelNode the root of ModelNode tree to be added.
*/
void AddModelNode(ModelNode modelNode);
/**
* @brief Remove ModelNode from this Model.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelNode the root of ModelNode tree to be removed.
*/
void RemoveModelNode(ModelNode modelNode);
* The return value of True, indicates that the hover event should be consumed.
* Otherwise the signal will be emitted on the next sensitive parent of the actor.
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @return The signal to connect to
*/
MeshHitSignalType& MeshHitSignal();
namespace Dali::Scene3D::Loader
{
+/**
+ * @brief Factory to create a NavigationMesh from various sources.
+ * @SINCE_2_2.12
+ */
struct DALI_SCENE3D_API NavigationMeshFactory
{
public:
/**
* @brief Creates NavigationMesh object from file
*
+ * @SINCE_2_2.12
* @param[in] filename file to load
* @return Valid NavigationMesh or nullptr
*/
/**
* @brief Creates NavigationMesh object from binary buffer
*
+ * @SINCE_2_2.12
* @param[in] buffer buffer with data
* @return Valid NavigationMesh or nullptr
*/
*
* List of faces contains indices into the vertex list
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @param[in] vertices List of Vector3 vertices
* @param[in] vertexNormals List of Vector3 vertices
* @param[in] faceIndices List of faces
*
* This function reduces number of array copys when called from NUI.
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @param[in] vertices Pointer to C-style array of vertices
* @param[in] vertexCount Number of vertices
* @param[in] vertexNormals to C-style array of vertex normals
* The binary data returned by the function can be used
* as an input for NavigationMeshFactory::CreateFromBuffer()
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @param[in] navigationMesh Navigation mesh to serialize
* @return Buffer containing serialized mesh data
*/
/**
* @brief Class for setting Material properties of 3D models
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*
* @note This Material class is for setting Material properties of 3D models.
* This Material supports properties and textures for PBR.
public:
/**
* @brief Enumeration for the start and end property ranges for material.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
enum PropertyRange
{
- PROPERTY_START_INDEX = PROPERTY_REGISTRATION_START_INDEX, ///< Start index is used by the property registration macro. @SINCE_2_2.99
- MATERIAL_PROPERTY_START_INDEX = PROPERTY_START_INDEX, ///< Start index of Control properties. @SINCE_2_2.99
- MATERIAL_PROPERTY_END_INDEX = MATERIAL_PROPERTY_START_INDEX + 1000, ///< Reserving 1000 property indices. @SINCE_2_2.99
+ PROPERTY_START_INDEX = PROPERTY_REGISTRATION_START_INDEX, ///< Start index is used by the property registration macro. @SINCE_2_2.22
+ MATERIAL_PROPERTY_START_INDEX = PROPERTY_START_INDEX, ///< Start index of Control properties. @SINCE_2_2.22
+ MATERIAL_PROPERTY_END_INDEX = MATERIAL_PROPERTY_START_INDEX + 1000, ///< Reserving 1000 property indices. @SINCE_2_2.22
- ANIMATABLE_PROPERTY_START_INDEX = ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX, ///< @SINCE_2_2.99
- ANIMATABLE_PROPERTY_END_INDEX = ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX + 1000, ///< Reserve animatable property indices, @SINCE_2_2.99
+ ANIMATABLE_PROPERTY_START_INDEX = ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX, ///< @SINCE_2_2.22
+ ANIMATABLE_PROPERTY_END_INDEX = ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX + 1000, ///< Reserve animatable property indices, @SINCE_2_2.22
};
/**
* @brief Enumeration for the instance of properties belonging to the Material class.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
struct Property
{
/**
* @brief Name of material.
* @details type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
NAME = MATERIAL_PROPERTY_START_INDEX,
/**
* @brief Property for the URL of the base color texture.
* @details Type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
BASE_COLOR_URL,
/**
* @brief Property for the base color factor of the material surface.
* @details Type Property::VECTOR4.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
BASE_COLOR_FACTOR,
/**
* @brief Property for the URL of the metallic-roughness texture.
* @details Type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
METALLIC_ROUGHNESS_URL,
/**
* @brief Property for the metallic factor of the material surface.
* @details Type Property::FLOAT.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
METALLIC_FACTOR,
/**
* @brief Property for the roughness factor of the material surface.
* @details Type Property::FLOAT.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
ROUGHNESS_FACTOR,
/**
* @brief Property for the URL of the normal texture.
* @details Type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
NORMAL_URL,
/**
* @brief Property for the scale factor applied to normal vectors.
* @details Type Property::FLOAT.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
NORMAL_SCALE,
/**
* @brief Property for the URL of the occlusion texture.
* @details Type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
OCCLUSION_URL,
/**
* @brief Property for the occlusion strength of the material surface.
* @details Type Property::FLOAT.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
OCCLUSION_STRENGTH,
/**
* @brief Property for the URL of the emissive texture.
* @details Type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
EMISSIVE_URL,
/**
* @brief Emissive factor Property.
* @details type Property::VECTOR3.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
EMISSIVE_FACTOR,
/**
* @brief Alpha mode Property.
* @details type Property::INTEGER.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
ALPHA_MODE,
/**
* @brief Alpha cutoff Property.
* @details type Property::FLOAT.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
ALPHA_CUTOFF,
/**
* @brief Double sided Property.
* @details type Property::BOOLEAN.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
DOUBLE_SIDED,
/**
*@brief Index of refraction (IOR) of the material surface
*@details type Property::FLOAT
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
IOR,
/**
* @brief Property for the URL of the specular texture.
* @details Type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
SPECULAR_URL,
/**
*@brief Property for the specular factor of the material surface.
*@details Type Property::FLOAT.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
SPECULAR_FACTOR,
/**
* @brief Property for the URL of the specular color texture.
* @details Type Property::STRING.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
SPECULAR_COLOR_URL,
/**
*@brief Property for the specular color factor of the material surface.
*@details Type Property::VECTOR3.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
SPECULAR_COLOR_FACTOR,
};
{
/**
* @brief Base Color Texture Property.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @note This texture represents the base color of the material. In most cases, this will be the diffuse color of the material.
*/
BASE_COLOR,
/**
* @brief Metallic Roughness Texture Property.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @note This texture represents the metallicness and roughness of the material. This texture can be used to make the material look more metallic or rough.
*/
METALLIC_ROUGHNESS,
/**
* @brief Normal Texture Property.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @note This texture represents the surface of the material. This texture can be used to make the surface of the material look smooth or rough.
*/
NORMAL,
/**
* @brief Occlusion Texture Property.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @note This texture represents the depth of the material. This texture can be used to make the material look more three-dimensional.
*/
OCCLUSION,
/**
* @brief Emissive Texture Property.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @note This texture makes the material look like it's emitting light. This texture can be used to make the material look like it's glowing.
*/
EMISSIVE,
/**
* @brief Specular Texture Property.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @note This texture represents the specular reflection of the material. This texture can be used to make the material look more reflective.
*/
SPECULAR,
/**
* @brief Specular Color Texture Property.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @note This texture represents the color of the specular reflection of the material. This texture can be used to set the color of the specular reflection of the material.
*/
SPECULAR_COLOR,
{
/**
* @brief This indicates that the material is fully opaque and that the alpha value should be ignored.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
OPAQUE,
/**
* @brief This indicates that the material is either fully opaque or fully transparent depending on the alpha value. The alpha value is used to mask out areas of the material that should be transparent.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
MASK,
/**
* @brief This indicates that the material is transparent and that the alpha value should be used to blend the material with the background.
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
BLEND,
};
/**
* @brief Create an initialized Material.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @return A handle to a newly allocated Dali resource
*/
static Material New();
* Only derived versions can be instantiated. Calling member
* functions with an uninitialized Dali::Object is not allowed.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
Material();
*
* This is non-virtual since derived Handle types must not contain data or virtual methods.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
~Material();
/**
* @brief Copy constructor.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] material Handle to an object
*/
Material(const Material& material);
/**
* @brief Move constructor
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] rhs A reference to the moved handle
*/
Material(Material&& rhs) noexcept;
/**
* @brief Assignment operator.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] material Handle to an object
* @return reference to this
*/
/**
* @brief Move assignment
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] rhs A reference to the moved handle
* @return A reference to this
*/
* If handle points to a Material, the downcast produces valid handle.
* If not, the returned handle is left uninitialized.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] handle Handle to an object
* @return Handle to a Material or an uninitialized handle
*/
* @brief Sets the value of an existing property.
* @note BaseHandle is not subclass of Handle. So this API is not use Handle.SetProperty
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The index of the property
* @param[in] propertyValue The new value of the property
*/
* @brief Retrieves a property value.
* @note BaseHandle is not subclass of Handle. So this API is not use Handle.SetProperty
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The index of the property
* @return The property value
* @note This returns the value set by SetProperty() or the animation target value if it is being animated.
/**
* @brief Convenience function for obtaining a property of a known type.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The index of the property
* @return The property value
* @pre The property types match i.e. PropertyTypes::Get<T>() is equal to GetPropertyType(index).
/**
* @brief Sets the texture for a given texture type.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The texture type index
* @param[in] texture The texture to set.
*/
/**
* @brief Gets the texture for a given texture type.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The texture type index
* @return The texture at the given index.
*/
/**
* @brief Sets the sampler for a given texture type.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The texture type index
* @param[in] sampler The sampler to use for this texture type
*/
/**
* @brief Gets the sampler for a given texture type.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The texture type index
* @return The sampler used for this texture type
*/
* If a 3D format file is loaded by Model, ModelNode is created internally to construct the model.
* In addition, you can create a Custom ModelNode using ModelPrimitive and Material directly and add it to Model.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*
* @code
* ModelNode modelNode = ModelNode::New();
/**
* @brief Create an initialized ModelNode.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @return A handle to a newly allocated Dali resource
*/
static ModelNode New();
* Only derived versions can be instantiated. Calling member
* functions with an uninitialized Dali::Object is not allowed.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
ModelNode();
*
* This is non-virtual since derived Handle types must not contain data or virtual methods.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
~ModelNode();
/**
* @brief Copy constructor.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelNode Handle to an object
*/
ModelNode(const ModelNode& modelNode);
/**
* @brief Move constructor
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] rhs A reference to the moved handle
*/
ModelNode(ModelNode&& rhs) noexcept;
/**
* @brief Assignment operator.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelNode Handle to an object
* @return reference to this
*/
/**
* @brief Move assignment
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] rhs A reference to the moved handle
* @return A reference to this
*/
* If handle points to a ModelNode, the downcast produces valid handle.
* If not, the returned handle is left uninitialized.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] handle Handle to an object
* @return Handle to a ModelNode or an uninitialized handle
*/
/**
* @brief Gets the number of ModelPrimitives this node has.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @return The number of ModelPrimitives this node has.
*/
uint32_t GetModelPrimitiveCount() const;
/**
* @brief Appends a ModelPrimitive to this node.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelPrimitive The ModelPrimitive to append.
*/
void AddModelPrimitive(ModelPrimitive modelPrimitive);
/**
* @brief Removes a ModelPrimitive from this node.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelPrimitive The ModelPrimitive to remove.
*/
void RemoveModelPrimitive(ModelPrimitive modelPrimitive);
/**
* @brief Removes a ModelPrimitive from this node by index.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The index of the ModelPrimitive to remove.
*/
void RemoveModelPrimitive(uint32_t index);
/**
* @brief Gets a ModelPrimitive by index.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] index The index of the ModelPrimitive to get.
* @return The ModelPrimitive at the given index, or an empty handle if the index is out of range.
*/
/**
* @brief Returns a child ModelNode object with a name that matches nodeName.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.34
* @param[in] nodeName The name of the child ModelNode object you want to find.
* @return Returns a child ModelNode object with a name that matches nodeName. If there is no corresponding child ModelNode object, it returns an empty ModelNode object.
*/
* @brief Retrieve the list of blendshape name that current ModelNode hold.
* The name will be appended end of input list.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.34
* @param[in, out] blendShapeNames The name of blendShape list collected.
*/
void RetrieveBlendShapeNames(std::vector<std::string>& blendShapeNames) const;
/**
* @brief Get the index of blend shape by given name.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.34
* @param[in] blendShapeName The name of blendshape that is not empty.
* @return Index of blendshape, or return invalid if there is no blendshape with given name.
*/
*
* To remove collider mesh empty unique_ptr must be passed.
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @param[in] colliderMesh r-value to unique pointer of ColliderMesh
*/
void SetColliderMesh(std::unique_ptr<Algorithm::ColliderMesh>&& colliderMesh);
* collider mesh is associated. Calling GetColliderMesh() without
* previous check may produce undefined behaviour.
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @return Associated collider mesh
*/
const Algorithm::ColliderMesh& GetColliderMesh();
/**
* @brief Determines whether there is a valid collider mesh set
*
- * @SINCE_2_3.0
+ * @SINCE_2_2.53
* @return True if collider mesh is set, False otherwise
*/
[[nodiscard]] bool HasColliderMesh() const;
* Users can set Dali::Geometry and Material to ModelPrimitive using SetGeometry and SetMaterial methods respectively.
* When ModelPrimitive added to ModelNode using ModelNode::AddModelPrimitive() method, the Geometry is rendered on the screen according to the Material settings.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*
* If you load resources from 3D format files such as glTF using Model class, ModelPrimitive is also created internally.
* In this case, blendShape morphing or skeletal animation defined in the format can be used.
/**
* @brief Create an initialized ModelPrimitive.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @return A handle to a newly allocated Dali resource
*/
static ModelPrimitive New();
* Only derived versions can be instantiated. Calling member
* functions with an uninitialized Dali::Object is not allowed.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
ModelPrimitive();
*
* This is non-virtual since derived Handle types must not contain data or virtual methods.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
*/
~ModelPrimitive();
/**
* @brief Copy constructor.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelPrimtive Handle to an object
*/
ModelPrimitive(const ModelPrimitive& modelPrimtive);
/**
* @brief Move constructor
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] rhs A reference to the moved handle
*/
ModelPrimitive(ModelPrimitive&& rhs) noexcept;
/**
* @brief Assignment operator.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] modelPrimitive Handle to an object
* @return reference to this
*/
/**
* @brief Move assignment
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] rhs A reference to the moved handle
* @return A reference to this
*/
* If handle points to a ModelPrimitive, the downcast produces valid handle.
* If not, the returned handle is left uninitialized.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] handle Handle to an object
* @return Handle to a ModelPrimitive or an uninitialized handle
*/
/**
* @brief Set the geometry for this renderer.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] geometry The geometry to set.
*/
void SetGeometry(Dali::Geometry geometry);
/**
* @brief Get the geometry for this renderer.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @return The geometry for this renderer.
*/
Dali::Geometry GetGeometry() const;
/**
* @brief Sets the material for this primitive.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @param[in] material The material
*/
void SetMaterial(Material material);
/**
* @brief Retrieves a material.
*
- * @SINCE_2_2.99
+ * @SINCE_2_2.22
* @return The material handle
*/
Material GetMaterial() const;