#include <ai.h>
#include <iostream>
#include <stdio.h>
#include <vector>
#include <assert.h> using namespace std; void print_the_type()
{
printf("AI_TYPE_BYTE %5d \n",AI_TYPE_BYTE); //
printf("AI_TYPE_INT %5d \n",AI_TYPE_INT); //
printf("AI_TYPE_FLOAT %5d \n",AI_TYPE_FLOAT); //
printf("AI_TYPE_STRING %5d \n",AI_TYPE_STRING);//
printf("AI_TYPE_ARRAY %5d \n",AI_TYPE_ARRAY); //
printf("AI_TYPE_POINT %5d \n",AI_TYPE_POINT); //
} int main()
{
print_the_type();
printf("\n");
printf("test AI_TYPE_FLOAT ARRAY\n");
AtArray *array = AiArrayAllocate(,,AI_TYPE_FLOAT);
// basic method
/*
for(int i=0;i<array->nelements*2;i++)
{
AiArraySetFlt(array,i,i);
}
*/
float *test = static_cast <float *> (array->data);
test[]=;
test[]=;
test[]=; for(int i=;i<array->nelements*;i++) // MUTIPLY *2 ,because have two float[3],so it's have the 3*2=6
{
cout << AiArrayGetFlt(array,i) <<endl;
}
AiArrayDestroy(array); printf("\n");
// test the array point
printf("test AI_TYPE_POINT ARRAY\n");
// create 2 point and have two motion keys
// so the data have 4 point ,every point have 3 elements ... the count is 2*3*2 = 12
AtInt32 keys = ;
AtArray *array_type_point = AiArrayAllocate(,keys,AI_TYPE_POINT);
assert(array_type_point->nkeys==);
assert(array_type_point->nelements==);
assert(array_type_point->nelements*==); float * array_raw_pt= static_cast <float *> (array_type_point->data);
//pt 1
array_raw_pt[]=1.0f;
array_raw_pt[]=2.0f;
array_raw_pt[]=3.0f;
// pt 2
array_raw_pt[]=4.0f;
array_raw_pt[]=5.0f;
array_raw_pt[]=6.0f;
// pt3
array_raw_pt[]=7.0f;
//assert(AiArraySetFlt(array,7,8.0f) == 1 ); //arnold will test array_type is same as rh array
// cout << array_raw_pt[0] << endl;
cout.setf(ios::showpoint);
for(int i=;i<array_type_point->nelements*keys;i++)
{
cout<< i <<" x : -> " << AiArrayGetPnt(array_type_point,i).x <<endl;
cout<< i <<" y : -> " << AiArrayGetPnt(array_type_point,i).y <<endl;
cout<< i <<" z : -> " << AiArrayGetPnt(array_type_point,i).z <<endl;
}
AiArrayDestroy(array_type_point); cin.get();
return ;
}

Arnold AtArray API Test的更多相关文章

  1. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  2. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  3. 几个有趣的WEB设备API(二)

    浏览器和设备之间还有很多有趣的接口, 1.屏幕朝向接口 浏览器有两种方法来监听屏幕朝向,看是横屏还是竖屏. (1)使用css媒体查询的方法 /* 竖屏 */ @media screen and (or ...

  4. html5 canvas常用api总结(三)--图像变换API

    canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...

  5. JavaScript 对数据处理的5个API

    JavaScript对数据处理包括向上取整.向下取整.四舍五入.固定精度和固定长度5种方式,分别对应ceil,floor,round,toFixed,toPrecision等5个API,本文将对这5个 ...

  6. ES5对Array增强的9个API

    为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...

  7. javascript的api设计原则

    前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...

  8. 一百元的智能家居——Asp.Net Mvc Api+讯飞语音+Android+Arduino

    大半夜的,先说些废话提提神 如今智能家居已经不再停留在概念阶段,高大上的科技公司都已经推出了自己的部分或全套的智能家居解决方案,不过就目前的现状而言,大多还停留在展厅阶段,还没有广泛的推广起来,有人说 ...

  9. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

随机推荐

  1. C#拾遗-边边角角

    1.扩展方法 public static 方法返回值类型 扩展方法名(this 要扩展类型 obj,调用扩展方法时需要的参数){ return "返回值"} 2.运算符重载 pub ...

  2. C# 方法的回调(上)

    在C#编程中方法的回调有以下几种方式 通过接口.通过委托.定时回调.多线程回调,异步回调 下面就以代码的形式来讲解这种方式 通过接口回调 代码示例如下 定义接口,定义了一个Run 方法: interf ...

  3. 总结-Intellij Idea (快捷键 配置修改)

    忽略大小写 输入sensitive,选择Code Completion,右边第一个下拉框,选择noneEditor 鼠标悬浮show quick docEditor Editor Tabs : Mar ...

  4. macOS 10.12 解决模拟器不流畅的一段命令行

    sudo sysctl -w kern.timer.coalescing_enabled=0

  5. css基础知识

    CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.其中选择器通常是您需要改变样式的 HTML 元素(比如p标签),也可以是节点的属性的值(比如id,class):每条声明都是一条字典key ...

  6. TortoiseGit安装详解

    一:写该文章目的 最近换了一份新工作,新公司的源码管理都是使用GIT,习惯了之前的TFS和SVN进行项目源码管理和团队开发,第一次使用GIT进行团队开发和源码管理,颇有一些不习惯,花了一天时间终于把G ...

  7. hdfs shell 命令以及原理

    shell 操作 dfs 上传[hadoop@namenode ~]$ /data/hadoop/bin/hadoop fs -put /opt/MegaRAID/MegaCli/MegaCli64 ...

  8. 测试内容url

    nscurl --ats-diagnostics https://xxxx/xxxx/main/ curl "https://app.api.gupiaoxianji.com/v3.8/ma ...

  9. multiwii 2.4配置页面中文注释

                                                                                                         ...

  10. 接口性能测试--JMeter

    1.JMeter Java Sampler介绍 setupTest做些初始化的工作,每个线程只执行一次 teardownTest做些清理工作,每个线程只执行一次 1.JMeter Java Sampl ...