12 #ifndef OPENVDB_AX_POINT_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED 13 #define OPENVDB_AX_POINT_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED 20 #include "../compiler/AttributeRegistry.h" 22 #include <openvdb/version.h> 39 void(
const void*
const,
52 static const size_t N_ARGS = FunctionTraitsT::N_ARGS;
54 static const std::array<const char*, N_ARGS>& argumentKeys();
55 static const char* getDefaultName();
62 void(
const void*
const,
75 static const size_t N_ARGS = FunctionTraitsT::N_ARGS;
77 static const std::array<const char*, N_ARGS>& argumentKeys();
78 static const char* getDefaultName();
85 void(
const void*
const,
98 static const size_t N_ARGS = FunctionTraitsT::N_ARGS;
100 static const std::array<const char*, N_ARGS>& argumentKeys();
101 static const char* getDefaultName();
108 void(
const void*
const,
109 const int32_t (*)[3],
122 static const size_t N_ARGS = FunctionTraitsT::N_ARGS;
124 static const std::array<const char*, N_ARGS>& argumentKeys();
125 static const char* getDefaultName();
132 namespace codegen_internal {
153 using ComputeGenerator::traverse;
154 using ComputeGenerator::visit;
172 #endif // OPENVDB_AX_POINT_COMPUTE_GENERATOR_HAS_BEEN_INCLUDED Visitor object which will generate llvm IR for a syntax tree. This provides the majority of the code ...
Definition: ComputeGenerator.h:86
Attributes represent any access to a primitive value, typically associated with the '@' symbol syntax...
Definition: AST.h:1874
A Tree is the highest concrete (non-abstract) node in the entire AX AST hierarchy. It represents an entire conversion of a valid AX string.
Definition: AST.h:562
The core visitor framework for code generation.
Definition: PointComputeGenerator.h:81
void(const void *const, const int32_t(*)[3], Index32 *, bool, uint64_t, void **, void **, uint64_t *, const void *const, void **, void *) Signature
Definition: PointComputeGenerator.h:72
std::shared_ptr< AttributeRegistry > Ptr
Definition: AttributeRegistry.h:42
Attribute Array storage templated on type and compression codec.
Consolidated llvm types for most supported types.
void(const void *const, const int32_t(*)[3], Index32 *, bool, uint64_t, void **, void **, uint64_t *, const void *const, void **, void *) Signature
Definition: PointComputeGenerator.h:95
Contains frameworks for creating custom AX functions which can be registered within the FunctionRegis...
Definition: PointComputeGenerator.h:35
Definition: Exceptions.h:13
void(const void *const, const int32_t(*)[3], Index32 *, uint64_t *, int64_t, uint64_t, void **, void **, uint64_t *, const void *const, void **, void *) Signature
Definition: PointComputeGenerator.h:119
uint32_t Index32
Definition: Types.h:52
Options that control how functions behave.
Definition: CompilerOptions.h:24
Templated function traits which provides compile-time index access to the types of the function signa...
Definition: Types.h:280
Definition: PointComputeGenerator.h:104
The function registry which is used for function code generation. Each time a function is visited wit...
Definition: FunctionRegistry.h:35
Definition: PointComputeGenerator.h:58
This class stores a list of access names, types and their dependency connections. ...
Definition: AttributeRegistry.h:39
Utility code generation methods for performing various llvm operations.
Logger for collecting errors and warnings that occur during AX compilation.
Definition: Logger.h:57
void(const void *const, const int32_t(*)[3], Index32 *, bool, uint64_t, void **, void **, uint64_t *, const void *const, void **, void *) Signature
Definition: PointComputeGenerator.h:49
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
Visitor object which will generate llvm IR for a syntax tree which has been generated from AX that ta...
Definition: PointComputeGenerator.h:138
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:218