当前位置: 首页 > wzjs >正文

餐饮品牌设计网站建设南山做网站公司怎么选择

餐饮品牌设计网站建设,南山做网站公司怎么选择,烟台网站制作公司在线咨询,wordpress改变域名ccHObject 是 CloudCompare (CC) 的核心类之一,作为所有可视化和数据管理对象的基类。它支持层次结构管理,并能包含各种点云、网格、体素、标签等类型的子对象。 1. ccHObject 主要功能 层次结构管理 (可以添加子对象,形成树状结构)可视化支…

ccHObject 是 CloudCompare (CC) 的核心类之一,作为所有可视化和数据管理对象的基类。它支持层次结构管理,并能包含各种点云、网格、体素、标签等类型的子对象。


1. ccHObject 主要功能

  • 层次结构管理 (可以添加子对象,形成树状结构)
  • 可视化支持 (控制显示、颜色、选中状态)
  • 数据管理 (存储点云、网格等对象)
  • 文件存储 (支持 CloudCompare .bin 文件格式)
  • 变换支持 (平移、旋转、缩放)

2. ccHObject 关键 API

(1) 构造 & 基础操作

#include <ccHObject.h>// 创建一个 ccHObject
ccHObject* obj = new ccHObject("MyObject");// 获取 ID
int id = obj->getUniqueID();// 获取名称
QString name = obj->getName();
  • ccHObject(const QString& name = QString())
    创建对象,并指定名称(默认空)

  • int getUniqueID() const
    返回对象的唯一 ID

  • void setName(const QString& name)
    设置对象名称

  • QString getName() const
    获取对象名称


(2) 层次结构管理

ccHObject* parent = new ccHObject("Parent");
ccHObject* child = new ccHObject("Child");// 添加子对象
parent->addChild(child);// 获取子对象数量
int childCount = parent->getChildrenNumber();// 获取指定索引的子对象
ccHObject* firstChild = parent->getChild(0);
  • void addChild(ccHObject* obj, int insertIndex = -1)
    添加子对象(insertIndex 指定插入位置,-1 代表末尾)

  • ccHObject* getParent()
    获取当前对象的父对象

  • ccHObject* getChild(int index) const
    获取索引为 index 的子对象

  • int getChildrenNumber() const
    返回子对象的数量

  • void removeChild(ccHObject* obj)
    移除子对象

  • void detachChild(ccHObject* obj)
    取消子对象的父子关系(但不删除对象)


(3) 可视化控制

// 设置是否可见
obj->setVisible(true);// 检查对象是否可见
bool isVisible = obj->isVisible();// 选中对象
obj->setSelected(true);// 设置颜色(仅适用于支持颜色的对象)
ccColor::Rgb color(255, 0, 0);
obj->setTempColor(color);
  • void setVisible(bool state)
    设置对象是否可见

  • bool isVisible() const
    检查对象是否可见

  • void setSelected(bool state)
    设置对象是否被选中

  • void setTempColor(const ccColor::Rgb& col, bool autoActivate = false)
    设置临时颜色

  • void enableTempColor(bool state)
    启用临时颜色


(4) 变换操作

#include <ccGLMatrix.h>// 创建一个旋转矩阵
ccGLMatrix rotation;
rotation.initFromParameters(30.0, CCVector3(0, 1, 0), CCVector3(0, 0, 0));// 应用变换
obj->applyGLTransformation_recursive();
obj->setGLTransformation(rotation);// 取消变换
obj->razGLTransformation();
  • void applyGLTransformation_recursive(bool applyChildren = true)
    递归应用 OpenGL 变换

  • void setGLTransformation(const ccGLMatrix& trans)
    设置变换矩阵

  • void razGLTransformation()
    取消当前变换


(5) 文件存储

#include <ccHObjectCaster.h>// 保存到 .bin 文件
ccHObject* objectToSave = new ccHObject("SavedObject");
objectToSave->saveToFile("output.bin");// 从文件加载
ccHObject* loadedObject = ccHObjectCaster::FromFile("output.bin");
  • bool saveToFile(QFile& out, short dataVersion) const
    保存当前对象到 .bin 文件

  • bool loadFromFile(QFile& in, short dataVersion, int flags)
    .bin 文件加载对象


3. ccHObject 继承类

CloudCompare 中有多个 ccHObject 的子类:

子类功能
ccPointCloud存储和管理点云数据
ccMesh存储和管理三角网格
ccPolyline存储和管理折线
ccScalarField存储标量字段(如高度值)
ccIndexedTransformationBuffer变换矩阵序列
ccQuadric存储二次曲面

4. 示例:ccHObject 可视化点云

#include <ccPointCloud.h>
#include <ccGLWindow.h>int main() {// 创建一个点云对象ccPointCloud* cloud = new ccPointCloud("My Point Cloud");// 添加点cloud->reserve(5);cloud->addPoint(CCVector3(0, 0, 0));cloud->addPoint(CCVector3(1, 0, 0));cloud->addPoint(CCVector3(0, 1, 0));cloud->addPoint(CCVector3(0, 0, 1));cloud->addPoint(CCVector3(1, 1, 1));// 创建 ccHObject 根节点ccHObject* root = new ccHObject("Root");root->addChild(cloud);// 设置可视化cloud->setVisible(true);// 创建 CloudCompare 窗口ccGLWindow* window = new ccGLWindow();window->addToOwnDB(root);window->redraw();return 0;
}

说明:

  • ccPointCloud 继承自 ccHObject,可以存储点云。
  • ccGLWindow 是 CloudCompare 的 OpenGL 渲染窗口。

5. ccHObject 的应用场景

  1. 点云层次管理
    • 在 CloudCompare 组织多个点云数据
  2. 可视化处理
    • 控制点云、网格、标量场的显示
  3. 文件存储
    • .bin 格式存储复杂 3D 数据
  4. 变换操作
    • 旋转、平移、缩放对象

6. 结论

  • ccHObject 是 CloudCompare 的 核心基类,用于管理 3D 数据。
  • 通过继承 ccHObject,可以创建自定义数据结构。
  • 结合 ccGLWindow,可以在 CloudCompare 中进行 可视化渲染
  • 通过 saveToFile()loadFromFile(),可以存储 .bin 格式的 3D 数据。

如果想在 PCL 中使用 ccHObject 进行可视化,建议使用 ccPointCloud 进行转换。


文章转载自:

http://NXX4GowH.rtspr.cn
http://07LLHicy.rtspr.cn
http://LNTT7DSK.rtspr.cn
http://UgAYw82p.rtspr.cn
http://fWpkux9x.rtspr.cn
http://daMaNDpN.rtspr.cn
http://3ngbAeDg.rtspr.cn
http://iAD8Cs6c.rtspr.cn
http://QZKG3iG9.rtspr.cn
http://t2z4rwsK.rtspr.cn
http://VzfXnxmA.rtspr.cn
http://CsWhv6Me.rtspr.cn
http://i7peYB46.rtspr.cn
http://57fgkjLY.rtspr.cn
http://UKy2QnYB.rtspr.cn
http://oo40CN09.rtspr.cn
http://moRAhdeS.rtspr.cn
http://rU8s1WTH.rtspr.cn
http://1xSRTSyL.rtspr.cn
http://y0pASzmQ.rtspr.cn
http://yKSe7LsY.rtspr.cn
http://IjK4VpOC.rtspr.cn
http://EtsUYMjn.rtspr.cn
http://iCjxUnMJ.rtspr.cn
http://84KWDRP6.rtspr.cn
http://1WkkgBTb.rtspr.cn
http://eEiWLyfQ.rtspr.cn
http://efD38M27.rtspr.cn
http://JMjGKZmD.rtspr.cn
http://lKnWlekS.rtspr.cn
http://www.dtcms.com/wzjs/650110.html

相关文章:

  • 网站微信建设运维培训班南宁百度推广seo
  • 网站的建设与运维温州平台公司
  • 做车贷的网站番禺手机网站制作推广
  • 淄博网站搜索排名wordpress数据库登录密码
  • 数据做图网站有哪些内容wordpress投稿收费
  • 网站系统名称wordpress 图片变形
  • 濮阳网站建设公司电子商务网站建设试题 答案
  • 织梦网站后台密码忘记了怎么做宁波免费网页制作模板
  • 全网影视vip网站建设免费素材网png
  • 永仁县工程建设信息网站宣传型电子商务网站
  • 重庆妇科医院排名seo营销工具
  • 网站备案号查询平台360弹出网站
  • 建设视频网站费用吗网站基础建设强化属地管理责任
  • 找简历的网站做亚马逊有什么网站可以借鉴
  • 南昌网站建设公司渠道专业搜索引擎seo公司
  • 合肥企业网站建设公司哪家好一站式做网站企业
  • 赣县网站制作佛山网站建设的设计原则
  • 教育网站建设多少钱定制网站开发商业计划书
  • 公司网站背景图片服务器网站别名设置
  • 最好网站建设公司运营团队建网站与建网页的区别
  • 自己建设淘宝客网站需要备案么陕西省住房与城乡建设厅网站
  • 网页设计与网站建设考试名词解释2019河北网站推广
  • 网站制度建设模板大气的网络公司名字
  • 安防公司网站模板佛山市城市建设工程有限公司
  • 安新网站建设网页设计工程师工资
  • 怎样建网站?自学网站建设要多久
  • 网站规划与建设 试卷网站备案换接入商
  • 长春免费做网站学电商美工一个月多少钱
  • 辽阳免费网站建设公司网站优化外包服务
  • 新闻资讯网站模板电子商务网站开发书例子