mirror of
				https://github.com/isledecomp/isle.git
				synced 2025-10-25 17:34:05 +00:00 
			
		
		
		
	 3b155bfe38
			
		
	
	3b155bfe38
	
	
	
		
			
			* Open discussion * Move annotations of header-implemented functions back to `.h` files * Adjust `README.md` * Relocate annotation * linter * Comment markers in headers only, rename script, update github actions * type hint compat * Rename github action, better argparse for linter * Type hints, working test for byname ignore * Move annotation * CI rename and enable warnfail, enforce mode always on * Two step linting * or one step * continue on error * two jobs instead * Fixes --------- Co-authored-by: disinvite <disinvite@users.noreply.github.com>
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef VIEWROI_H
 | |
| #define VIEWROI_H
 | |
| 
 | |
| #include "../realtime/orientableroi.h"
 | |
| #include "../tgl/tgl.h"
 | |
| #include "viewlodlist.h"
 | |
| 
 | |
| /*
 | |
| 	ViewROI objects represent view objects, collections of view objects,
 | |
| 	etc. Basically, anything which can be placed in a scene and manipilated
 | |
| 	by the view manager is a ViewROI.
 | |
| */
 | |
| class ViewROI : public OrientableROI {
 | |
| public:
 | |
| 	inline ViewROI(Tgl::Renderer* pRenderer, ViewLODList* lodList)
 | |
| 	{
 | |
| 		SetLODList(lodList);
 | |
| 		geometry = pRenderer->CreateGroup();
 | |
| 	}
 | |
| 	inline ~ViewROI();
 | |
| 	inline void SetLODList(ViewLODList* lodList)
 | |
| 	{
 | |
| 		// ??? inherently type unsafe - kind of... because, now, ROI
 | |
| 		//     does not expose SetLODs() ...
 | |
| 		// solution: create pure virtual LODListBase* ROI::GetLODList()
 | |
| 		// and let derived ROI classes hold the LODList
 | |
| 
 | |
| 		if (m_lods) {
 | |
| 			reinterpret_cast<ViewLODList*>(m_lods)->Release();
 | |
| 		}
 | |
| 
 | |
| 		m_lods = lodList;
 | |
| 
 | |
| 		if (m_lods) {
 | |
| 			reinterpret_cast<ViewLODList*>(m_lods)->AddRef();
 | |
| 		}
 | |
| 	}
 | |
| 	virtual float IntrinsicImportance() const;
 | |
| 	virtual Tgl::Group* GetGeometry();
 | |
| 	virtual const Tgl::Group* GetGeometry() const;
 | |
| 
 | |
| protected:
 | |
| 	Tgl::Group* geometry;
 | |
| 	void UpdateWorldData(const Matrix4Data& parent2world);
 | |
| };
 | |
| 
 | |
| // SYNTHETIC: LEGO1 0x100aa250
 | |
| // ViewROI::`scalar deleting destructor'
 | |
| 
 | |
| #endif // VIEWROI_H
 |