Cumulia Illustrator Rendering Engine v1.0.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
primitive.h
1//##################################################################################################
2//
3// Copyright (c) 2024 Beijing Qiongqi Tech Co.,Ltd. All rights reserved.
4
5// This source code is confidential and proprietary to Beijing Qiongqi Tech Co.,Ltd(The Holder).
6// Any unauthorized use, copying, modification, or distribution of the code is strictly prohibited.
7// Any user shall obtain authorizaition from the Holder before modifying the source code. And the user shall not
8// sublicense, sell, distribute, or transfer the source code, whether in original or modified form, to any third party
9// without the prior written consent of the Holder.
10
11// This copyright notice and permission grant shall be included in all copies or substantial portions of the source code.
12
13// Author Cumulia Illustrator
14// Date 2024-05-01
15// Version V1.0.0
16//##################################################################################################
17
18#pragma once
19
20#include "geometry.h"
21#include "material.h"
22#include "../object/object.h"
23
24#include <memory>
25
26namespace cil
27{
29 class Primitive : public Object
30 {
31 public:
32 std::shared_ptr<Geometry> geometry;
33 std::shared_ptr<Material> material;
35
37 };
38
39 std::shared_ptr<BoundingBox> getBoundingBox(const std::shared_ptr<Primitive>& primitive);
40}
Definition object.h:23
The Primitive class represents a basic building block for rendering 3D objects.
Definition primitive.h:30
std::shared_ptr< Material > material
This is a shared pointer to a Material object. It references the material properties that define the ...
Definition primitive.h:33
std::shared_ptr< Geometry > geometry
This is a shared pointer to a Geometry object. It references the actual geometric data(vertex and ind...
Definition primitive.h:32
int priority
This is an integer value representing the priority of the primitive during rendering.
Definition primitive.h:34
Definition decal.h:23
std::shared_ptr< BoundingBox > getBoundingBox(const std::shared_ptr< Geometry > &geometry, const std::string &attribName="positions")