namespace cogs
Overview
Namespace of “Computer Graphic Structures” library, which implement many core classes and structures. More…
namespace cogs { // namespaces namespace cogs::color; namespace cogs::conversions; namespace cogs::io; // typedefs typedef std::vector<cogs::VertexSkinData> SkinningData; // enums enum ColorMap; enum DataType; enum MaterialColors; enum MaterialTextures; // structs struct Color3b; struct Color3f; struct Color3hex; struct Color4b; struct Color4f; struct Color4hex; struct Frustum; struct Material; struct Mesh; struct MeshOperations; struct PointCloudProperty; struct ScalePreservingTransform; struct ScanCameraParams; struct SkeletonAction; struct SkeletonPose; struct VertexSkinData; // classes class AabbHierarchy; class Armature; class Bone; class BoneTransform; class C_PointCloud; class C_Scan; class DynamicScan; class Exporter; template <typename Type> class Grid; class Image; class Importer; template <typename Type> class Interpolator; class KdTree; class MaterialModel; class Octree; class PointCloud; class PointCloudSelector; class ScalePreservingTransformSerializable; class ScalePreservingTransformSerializer; class Scan; class Skeleton; class Table; class Transform; class Triangulation; // global functions std::vector<geom::LineSegment3> BonesToLines(const std::vector<cogs::Bone*>& bones); COGS_API bool operator==(const Color3b& a, const Color3b& b); COGS_API bool operator==(const Color4b& a, const Color4b& b); COGS_API bool operator==(const Color3f& a, const Color3f& b); COGS_API bool operator==(const Color4f& a, const Color4f& b); COGS_API bool operator==(const Color3hex& a, const Color3hex& b); COGS_API bool operator==(const Color4hex& a, const Color4hex& b); COGS_API bool operator!=(const Color3b& a, const Color3b& b); COGS_API bool operator!=(const Color4b& a, const Color4b& b); COGS_API bool operator!=(const Color3f& a, const Color3f& b); COGS_API bool operator!=(const Color4f& a, const Color4f& b); COGS_API bool operator!=(const Color3hex& a, const Color3hex& b); COGS_API bool operator!=(const Color4hex& a, const Color4hex& b); COGS_API Color3f operator*(const float factor, const Color3f& col); COGS_API Color3f operator*(const Color3f& col, const float factor); COGS_API Color4f operator*(const float factor, const Color4f& col); COGS_API Color4f operator*(const Color4f& col, const float factor); COGS_API Color3f Interpolate(const Color3f& col1, const Color3f& col2, float weight); COGS_API std::string ColorMapToString(ColorMap map); COGS_API cogs::Color3f MapValueToColor(float value, ColorMap mapping_func); COGS_API std::vector<cogs::Color3f> MapValuesToColors(const std::vector<float>& values, ColorMap mapping_func); COGS_API std::vector<cogs::Color3f> MapValuesToColors(const std::vector<float>& values, std::function<float(float)> process_func, ColorMap mapping_func); COGS_API std::size_t GetDataTypeSize(const DataType& dtype); bool COGS_API ExportBVH(const std::string& filename, const cogs::Skeleton& skeleton); template <typename Type> Type Interpolate(const Type val1, const Type val2, const float weight); glm::quat Interpolate(const glm::quat val1, const glm::quat val2, const float weight); template <typename Type> glm::quat InterpolateCubic(const Type val1, const Type val2, const Type val3, const Type val4, const float weight); std::vector<glm::vec4> COGS_API CalculateTangentArray(const cogs::Mesh& mesh); cogs::Mesh COGS_API JoinMeshes(const std::vector<cogs::Mesh>& meshes_to_join); COGS_API geom::Aabb3 GetPointCloudAabb(const PointCloud& cloud); COGS_API void ErasePointsOutsideAabb(const geom::Aabb3& aabb, PointCloud& cloud); COGS_API std::vector<geom::LineSegment3> ToLineSegments(const cogs::Skeleton& skeleton); COGS_API std::vector<cogs::Skeleton> SplitIntoSingleBoneSkeletons(const cogs::Skeleton& skeleton); COGS_API geom::Aabb3 GetAabb3(const Skeleton& skeleton); } // namespace cogs
Detailed Documentation
Namespace of “Computer Graphic Structures” library, which implement many core classes and structures.
Global Functions
COGS_API std::string ColorMapToString(ColorMap map)
Returns string representation of ColorMap enum value.
COGS_API cogs::Color3f MapValueToColor(float value, ColorMap mapping_func)
Converts float value in range <0.0, 1.0> to color, depending on selected mapping function.
COGS_API std::vector<cogs::Color3f> MapValuesToColors(const std::vector<float>& values, ColorMap mapping_func)
Converts float values in range <0.0, 1.0> to colors, depending on selected mapping function.
COGS_API std::vector<cogs::Color3f> MapValuesToColors(const std::vector<float>& values, std::function<float(float)> process_func, ColorMap mapping_func)
For each float from vector applies processing function and converts value to color afterwards, depending on selected mapping function.
COGS_API std::size_t GetDataTypeSize(const DataType& dtype)
Returns size of type denoted by DataType identifier.
bool COGS_API ExportBVH(const std::string& filename, const cogs::Skeleton& skeleton)
Exports skeleton bone hierarchy to BVH file.
std::vector<glm::vec4> COGS_API CalculateTangentArray(const cogs::Mesh& mesh)
Calculates tangent vectors for each point of an input mesh.
Returns:
Array of size equal to the point count of an input mesh. Each element of the array contains tangent vector in its xyz components. Component w holds information about bi-tangent orientation. If w is negative, bi-tangent is equal to the cross(T,N), otherwise cross(N,T).
COGS_API std::vector<geom::LineSegment3> ToLineSegments(const cogs::Skeleton& skeleton)
Converts bones of skeleton to the array of line segments ordered by bone ids.
COGS_API std::vector<cogs::Skeleton> SplitIntoSingleBoneSkeletons(const cogs::Skeleton& skeleton)
Splits skeleton into one bone skeletons.
COGS_API geom::Aabb3 GetAabb3(const Skeleton& skeleton)
Returns bounding box wrapping all skeleton bones.