write some printer for ck class
This commit is contained in:
@ -106,6 +106,11 @@ namespace LibCmo {
|
||||
|
||||
#define PRIiCKINT PRIi32
|
||||
|
||||
#define PRIfCKFLOAT "f"
|
||||
#define PRIfCKDOUBLE "lf"
|
||||
#define PRIeCKFLOAT "e"
|
||||
#define PRIeCKDOUBLE "le"
|
||||
|
||||
#define PRIxCKPTR PRIx32
|
||||
#define PRIXCKPTR PRIX32
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CKBeObject::IsInGroup(CKGroup* group) {
|
||||
bool CKBeObject::IsInGroup(CKGroup* group) const {
|
||||
if (group == nullptr) return false;
|
||||
CKDWORD idx = group->GetGroupIndex();
|
||||
return XContainer::NSXBitArray::IsSet(m_Groups, idx);
|
||||
|
@ -14,12 +14,16 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
virtual CK_CLASSID GetClassID(void) override {
|
||||
return CK_CLASSID::CKCID_BEOBJECT;
|
||||
}
|
||||
//virtual void PreSave(CKFileVisitor* file, CKDWORD flags) override;
|
||||
|
||||
virtual bool Save(CKStateChunk* chunk, CKFileVisitor* file, CKDWORD flags) override;
|
||||
virtual bool Load(CKStateChunk* chunk, CKFileVisitor* file) override;
|
||||
//virtual void PostLoad() override;
|
||||
|
||||
bool IsInGroup(CKGroup* group);
|
||||
/**
|
||||
* @brief Check whether this object is in specified group.
|
||||
* @param group[in] The group to be checked.
|
||||
* @return True if in it.
|
||||
*/
|
||||
bool IsInGroup(CKGroup* group) const;
|
||||
/**
|
||||
* @brief Directly set group data.
|
||||
* @param pos
|
||||
|
@ -82,7 +82,7 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
}
|
||||
}
|
||||
|
||||
CKDWORD CKGroup::GetGroupIndex() {
|
||||
CKDWORD CKGroup::GetGroupIndex() const {
|
||||
return m_GroupIndex;
|
||||
}
|
||||
|
||||
@ -134,12 +134,12 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
m_ObjectArray.clear();
|
||||
}
|
||||
|
||||
CKBeObject* CKGroup::GetObject(CKDWORD pos) {
|
||||
CKBeObject* CKGroup::GetObject(CKDWORD pos) const {
|
||||
if (pos >= m_ObjectArray.size()) return nullptr;
|
||||
else return static_cast<CKBeObject*>(m_ObjectArray[pos]);
|
||||
}
|
||||
|
||||
CKDWORD CKGroup::GetObjectCount() {
|
||||
CKDWORD CKGroup::GetObjectCount() const {
|
||||
return static_cast<CKDWORD>(m_ObjectArray.size());
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
// it only have special Show method
|
||||
virtual void Show(CK_OBJECT_SHOWOPTION show = CK_OBJECT_SHOWOPTION::CKSHOW) override;
|
||||
|
||||
CKDWORD GetGroupIndex();
|
||||
CKDWORD GetGroupIndex() const;
|
||||
|
||||
// ===== Insert =====
|
||||
CKERROR AddObject(CKBeObject *o);
|
||||
@ -37,8 +37,8 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
void Clear();
|
||||
|
||||
// ===== Access =====
|
||||
CKBeObject* GetObject(CKDWORD pos);
|
||||
CKDWORD GetObjectCount();
|
||||
CKBeObject* GetObject(CKDWORD pos) const;
|
||||
CKDWORD GetObjectCount() const;
|
||||
|
||||
protected:
|
||||
XContainer::XObjectPointerArray m_ObjectArray;
|
||||
|
@ -381,6 +381,10 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
SetLineCount(0);
|
||||
}
|
||||
|
||||
VxMath::VXMESH_FLAGS CKMesh::GetMeshFlags() const {
|
||||
return m_Flags;
|
||||
}
|
||||
|
||||
void CKMesh::BuildNormals() {
|
||||
if (m_FaceCount == 0 || m_VertexCount == 0) return;
|
||||
|
||||
|
@ -27,6 +27,7 @@ namespace LibCmo::CK2::ObjImpls {
|
||||
// ===== Misc Section =====
|
||||
public:
|
||||
void CleanMesh();
|
||||
VxMath::VXMESH_FLAGS GetMeshFlags() const;
|
||||
protected:
|
||||
void BuildNormals();
|
||||
void BuildFaceNormals();
|
||||
|
Reference in New Issue
Block a user