Bifrost SDK
Bifrost SDK documentation
Validator.h
Go to the documentation of this file.
1//-
2//*****************************************************************************
3// Copyright (c) 2025 Autodesk, Inc.
4// All rights reserved.
5//
6// Use of this software is subject to the terms of the Autodesk license
7// agreement provided at the time of installation or download, or which
8// otherwise accompanies this software in either electronic or hard copy form.
9// =============================================================================
10//+
11//
16
17#ifndef BIFROST_GEOMETRY_VALIDATOR_H
18#define BIFROST_GEOMETRY_VALIDATOR_H
19
21
23
24namespace Bifrost {
25namespace Geometry {
26// -----------------------------------------------------------------------------
31public:
33 virtual ~GeoValidator();
34
37 enum class ErrorCode {
38 kNoError = 0,
39 kInvalidObject,
40 kInvalidProperty,
41 kInvalidSet,
42 kInvalidCount,
44 kMissingTarget,
45 kInvalidTarget
46 };
47
56 operator bool() const; // NOLINT
57
60
63 };
64
69 virtual Status validate(const Bifrost::Object& object);
70};
71
72// -----------------------------------------------------------------------------
78public:
83 Status validate(const Bifrost::Object& object) override;
84};
85
86// -----------------------------------------------------------------------------
92public:
97 Status validate(const Bifrost::Object& object) override;
98};
99
100// -----------------------------------------------------------------------------
106public:
111 Status validate(const Bifrost::Object& object) override;
112};
113
114// -----------------------------------------------------------------------------
120public:
125 Status validate(const Bifrost::Object& object) override;
126};
127
128// -----------------------------------------------------------------------------
133public:
138 Status validate(const Bifrost::Object& object) override;
139};
140
141// -----------------------------------------------------------------------------
149
150} // namespace Geometry
151} // namespace Bifrost
152
153#endif
Definition of macros for symbol visibility.
#define BIFROST_GEOMETRY_DECL
Bifrost object interface declaration.
Definition: FCurve.h:35
BIFROST_GEOMETRY_DECL const Geometry::Index kInvalidIndex
GeoValidator::Status BIFROST_GEOMETRY_DECL validateMesh(const Bifrost::Object &in_object)
Convenience function to validate the specified object with a Bifrost::Geometry::MeshValidator.
The string class used by Amino.
Definition: String.h:46
This is the base class for validating geometry.
Definition: Validator.h:30
virtual Status validate(const Bifrost::Object &object)
Validates the given object.
This class contains an error code and an informative text description of an error.
Definition: Validator.h:52
Status(GeoValidator::ErrorCode code, Amino::String desc)
GeoValidator::ErrorCode m_code
Definition: Validator.h:61
This class validates point cloud objects have the correct structure and valid indexing.
Definition: Validator.h:77
Status validate(const Bifrost::Object &object) override
Validates the given object is a point cloud geometry.
This class validates instances objects have the correct structure and valid indexing.
Definition: Validator.h:91
Status validate(const Bifrost::Object &object) override
Validates the given object is an instances geometry.
This class validates strand objects have the correct structure and valid indexing.
Definition: Validator.h:105
Status validate(const Bifrost::Object &object) override
Validates the given object is a strand geometry.
This class validates mesh objects have the correct structure and valid indexing.
Definition: Validator.h:119
Status validate(const Bifrost::Object &object) override
Validates the given object is a mesh geometry.
This class validates volume objects have the correct structure.
Definition: Validator.h:132
Status validate(const Bifrost::Object &object) override
Validates the given object is a mesh geometry.
An interface for dictionary-like objects.
Definition: Object.h:59