2024-09-01 21:39:00 +00:00
|
|
|
#pragma once
|
|
|
|
|
#ifndef SCENE_GROUP_H
|
|
|
|
|
#define SCENE_GROUP_H
|
|
|
|
|
|
|
|
|
|
#ifndef _SCENEOBJECT_H_
|
|
|
|
|
#include "scene/sceneObject.h"
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
class SceneGroup : public SceneObject
|
|
|
|
|
{
|
|
|
|
|
typedef SceneObject Parent;
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
enum MaskBits
|
|
|
|
|
{
|
|
|
|
|
TransformMask = Parent::NextFreeMask << 0,
|
|
|
|
|
NextFreeMask = Parent::NextFreeMask << 1
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
SceneGroup();
|
|
|
|
|
virtual ~SceneGroup();
|
|
|
|
|
|
|
|
|
|
DECLARE_CONOBJECT(SceneGroup);
|
|
|
|
|
DECLARE_CATEGORY("Object \t Collection");
|
|
|
|
|
|
|
|
|
|
static void initPersistFields();
|
|
|
|
|
|
|
|
|
|
// SimObject
|
|
|
|
|
bool onAdd() override;
|
|
|
|
|
void onRemove() override;
|
|
|
|
|
void onEditorEnable() override;
|
|
|
|
|
void onEditorDisable() override;
|
|
|
|
|
void inspectPostApply() override;
|
|
|
|
|
void onInspect(GuiInspector* inspector) override;
|
|
|
|
|
|
|
|
|
|
// NetObject
|
|
|
|
|
U32 packUpdate(NetConnection* conn, U32 mask, BitStream* stream) override;
|
|
|
|
|
void unpackUpdate(NetConnection* conn, BitStream* stream) override;
|
|
|
|
|
|
|
|
|
|
// SceneObject
|
|
|
|
|
void setTransform(const MatrixF& mat) override;
|
|
|
|
|
void setRenderTransform(const MatrixF& mat) override;
|
|
|
|
|
|
|
|
|
|
// Object management
|
|
|
|
|
void addObject(SimObject* object) override;
|
|
|
|
|
void removeObject(SimObject* object) override;
|
|
|
|
|
void recalculateBoundingBox();
|
2025-05-25 12:40:10 +00:00
|
|
|
void reparentOOBObjects();
|
2024-09-01 21:39:00 +00:00
|
|
|
|
|
|
|
|
///
|
2025-06-11 05:30:36 +00:00
|
|
|
bool buildPolyList(PolyListContext context, AbstractPolyList* polyList, const Box3F& box, const SphereF& sphere) override { return false; };
|
|
|
|
|
bool buildExportPolyList(ColladaUtils::ExportData* exportData, const Box3F& box, const SphereF&) override { return false; };
|
2024-09-01 21:39:00 +00:00
|
|
|
void getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList) override;
|
|
|
|
|
};
|
|
|
|
|
#endif
|