Cumulia Illustrator Rendering Engine v2.1.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
datasolution.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 2025-08-05
15// Version V2.1.0
16//##################################################################################################
17
18#pragma once
19
20#include <cilcore.h>
21
22#include <string>
23#include <memory>
24
25#include "datascalar.h"
26#include "datavector.h"
27#include "types.h"
28
29namespace cil
30{
31 class DataObject;
32 class Loader;
33
35 {
36 private:
37 std::shared_ptr<Loader> m_loader;
38
39 void load(int index);
40 void free(int index);
41
42 public:
51
53 DataSolution(const std::shared_ptr<DataObject>& dataObject);
54 DataSolution(const std::shared_ptr<Loader>& loader);
55
56 void reset();
57
60
61 unsigned long memorySize;
62
65 std::shared_ptr<BoundingBox> boundingBox;
66
67 const std::shared_ptr<DataModel> get(int index);
68
69 private:
70 static FrameStrategy s_frameStrategy;
71 };
72}
Definition datascalar.h:28
Definition datasolution.h:35
const std::shared_ptr< DataModel > get(int index)
static void setFrameStrategy(DataSolution::FrameStrategy strategy)
static DataSolution::FrameStrategy frameStrategy()
DataScalarMap dataScalars
Definition datasolution.h:63
FrameStrategy
Definition datasolution.h:44
@ All
Definition datasolution.h:47
@ Demanded
Definition datasolution.h:49
@ None
Definition datasolution.h:45
@ Required
Definition datasolution.h:48
@ One
Definition datasolution.h:46
std::shared_ptr< BoundingBox > boundingBox
Definition datasolution.h:65
DataSolution(const std::shared_ptr< Loader > &loader)
DataVectorMap dataVectors
Definition datasolution.h:64
DataSolution(const std::shared_ptr< DataObject > &dataObject)
unsigned long memorySize
Definition datasolution.h:61
Definition datavector.h:28
Definition decal.h:23
std::vector< DataModelPtr > DataModelPtrArray
Definition types.h:37