Cumulia Illustrator Rendering Engine v2.1.0
A Rendering engine for industrial CAD/CAE model and optimized for greatest performance
 
Loading...
Searching...
No Matches
clipper.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 "clipping.h"
23
24namespace cil
25{
26 class Clipper
27 {
28 private:
29 std::shared_ptr<Clipping> m_clipping;
30 std::map<std::shared_ptr<Node>, std::shared_ptr<Node>> m_clipped;
31
32 public:
34
35 void add(const std::shared_ptr<Node>& node);
36 void remove(const std::shared_ptr<Node>& node);
37 void clear();
38 std::vector<std::shared_ptr<Node>> list();
39
40 void setClipping(const std::shared_ptr<Clipping>& clipping);
41 const std::shared_ptr<Clipping>& clipping();
42
43 std::shared_ptr<Node> getCapNode(const std::shared_ptr<BoundingBox>& boundingBox);
44 };
45
46 std::shared_ptr<Clipper> _clipper();
47}
Definition clipper.h:27
const std::shared_ptr< Clipping > & clipping()
void setClipping(const std::shared_ptr< Clipping > &clipping)
void add(const std::shared_ptr< Node > &node)
std::shared_ptr< Node > getCapNode(const std::shared_ptr< BoundingBox > &boundingBox)
std::vector< std::shared_ptr< Node > > list()
void remove(const std::shared_ptr< Node > &node)
Definition decal.h:23
std::shared_ptr< Clipper > _clipper()