VEX —— Functions|Geometry

目录

geoself —— 返回当前几何体的handle

addpoint —— 添加点到几何体

addprim —— 添加面到几何体

addvertex —— 添加一顶点到面

minpos —— 查找点离几何体表面最近的位置

nearpoint —— 查找离几何体最近的点

nearpoints —— 查找离几何体所有最近的点

neighbour —— 下一个被连接到给定点的点号

neighbours —— 所有被连接到给定点的点号

neighbourcount —— 被连接到给定点的点总数

intersect —— 计算射线的第一个交点

intersects —— 计算射线的所有交点

npoints —— 返回点总数

nprimitives —— 返回面总数

​​​​​​​nvertices —— 返回顶点总数

​​​​​​​npointsgroup —— 返回组内的点总数

​​​​​​​nprimitivesgroup —— 返回组内的面总数

​​​​​​​nverticesgroup —— 返回组内的顶点总数

pointprims —— 返回包含指定点的prim列表

pointvertices —— 返回连接到指定点的顶点列表

primpoints —— 返回指定prim上点的列表

primvertices —— 返回指定prim上的线性顶点列表

pointvertex —— 返回与指定点共享的第一个顶点的线性顶点号

primpoint —— 将prim上的vertex转化为对应的点号

primvertex —— 将prim上的vertex转化为对应的线性顶点

​​​​​​​primvertexcount —— 返回prim上的顶点总数

polyneighbours —— 返回边邻居的面号数组

primfind —— 返回可能与boundingbox边界相交的面号列表

removeattrib —— 移除指定属性或组

removepoint —— 移除指定点

removeprim —— 移除指定面

removepvertex —— 移除指定顶点

setprimvertex —— 将顶点重连接到不同的点

setvertexpoint —— 将顶点重连接到不同的点

setedgegroup —— 设置边组成员

expandedgegroup —— 返回边点列表

inedgegroup —— 是否在指定的边组

nedgesgroup —— 返回组内的边数

uvintersect —— 计算在UV空间内射线交点

vertexcurveparam —— 沿着面的周长返回顶点参数坐标

vertexindex —— 将顶点转化未线性顶点

vertexprev —— 返回与给定顶点分享点的上一个顶点的线性顶点号;

vertexnext —— 返回与给定顶点分享点的下一个顶点的线性顶点号;

vertexpoint —— 返回线性顶点的点号;

vertexprim —— 返回包含给定顶点的面号;

vertexprimindex —— 将线性顶点转化为顶点号;

clip —— 切割p0和p1之间的线段

geounwrap 


geoself —— 返回当前几何体的handle

int geoself()
  • Return,​​​​​​​返回当前几何体的handle,适用于几何图形创建操作;

addpoint —— 添加点到几何体

//创建一个新点,伴随给定点号的所有属性和组;
int addpoint(int geohandle, int point_number)
//创建一个新点,在指定位置;
int addpoint(int geohandle, vector pos)
  • Args
    • geohandle,待写入的几何体,仅0、geoself有效;
  • Return
    • ​​​​​​​​​​​​​​​​​​​​​返回新点的点号,未创建新点返回-1;
    • 可使用返回值,通过setpointattrib函数设置新点属性,有可能不是最终的点号;
int pt = addpoint(0,{1,1,1});
setpointattrib(0,"a",pt,1);

addprim —— 添加面到几何体

//创建polygon或polyline,然后可使用addvertex添加顶点到面
//确保添加至少一个顶点到面,如处理空几何体可能引起奇怪的结果或失败
int addprim(int geohandle, string type)
//使用被点号指定的点,来创建prim
int addprim(int geohandle, string type, int pt0)
int addprim(int geohandle, string type, int pt0, int pt1)
int addprim(int geohandle, string type, int pt0, int pt1, int pt2)
int addprim(int geohandle, string type, int pt0, int pt1, int pt2, int pt3)
int addprim(int geohandle, string type, int pt0, int pt1, int pt2, int pt3, int pt4, int pt5, int pt6, int pt7)
//使用被点号数组指定的点,来创建prim
int addprim(int geohandle, string type, int points[])
//输出新prim对应的顶点号,然后可使用setvertexattrib函数设置顶点属性,可能不是最终的顶点号
void addprim(int &prim_num, int geohandle, string type, int pt0, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int pt0, int pt1, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int pt0, int pt1, int pt2, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int pt0, int pt1, int pt2, int pt3, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int pt0, int pt1, int pt2, int pt3, int pt4, int pt5, int pt6, int pt7, int &vertices[])
void addprim(int &prim_num, int geohandle, string type, int points[], int &vertices[])
  • Args
    • geohandle,待写入的几何体,仅0、geoself有效;​​​​​​​
    • type,新面的类型;
      • "poly",封闭的几何体,可使用0或更多的点;
      • "polyline",打开的几何体,可使用0或更多的点;
      • "tet",四面体Tetrahedron,要求4个点,不能添加顶点到prim;
      • “hex”,六面体Hexahedron,要求8个点,不能添加顶点到prim;
      • "sphere", "circle", "tube", "metaball", "metasquad",创建对应类型的prim,半径和形状由内在变换属性控制,要求1个点,不能添加顶点到prim;
      • "AlembicRef", "PackedDisk",创建对应类型的prim,要求1个点,不能添加顶点到prim;
  • Return
    • ​​​​​​​​​​​​​​返回新prim的面号,未创建则返回-1;
    • 可使用返回值,通过setprimattrib函数设置新面属性,有可能不是最终的面号;
//使用setprimintrinsic函数设置primitive’s transforms
matrix3 transform_value = {{0, 0, 0}, {0, 0, 0}, {1, 1, 1}};
setprimintrinsic(geoself(), "transform", prim, transform_value);
//也可设置Alembic/packed primitive intrinsics
setprimintrinsic(geoself(), "unexpandedfilename", prim, "test.bgeo");
int p0 = addpoint(0, chv("p0"));
int p1 = addpoint(0, chv("p1"));
int p2 = addpoint(0, chv("p2"));
int p3 = addpoint(0, chv("p3"));
int prim = addprim(0, "poly");
addvertex(0, prim, p0);
addvertex(0, prim, p1);
addvertex(0, prim, p2);
addvertex(0, prim, p3);

addvertex —— 添加一顶点到面

int addvertex(int geohandle, int prim_num, int point_num)
  • Args
    • geohandle,待写入的几何体,仅0、geoself有效;
  • Return
    • ​​​​​​​返回线性顶点索引,未创建则返回-1;
    • 可使用返回值,通过setvertexattrib函数设置新顶点属性,有可能不是最终的顶点索引;

minpos —— 查找点离几何体表面最近的位置

//返回点离几何体最近点位置
vector minpos(<geometry>geometry, vector point)
//返回点离几何体最近点位置,在指定最大距离内
vector minpos(<geometry>geometry, vector point, float maxdist)
//返回点离几何体最近点位置,在指定面组内
vector minpos(<geometry>geometry, string primgroup, vector point)
//返回点离几何体最近点位置,在指定面组及最大距离内
vector minpos(<geometry>geometry, string primgroup, vector point, float maxdist)
  • Args
    • <geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
    • primgroup,面组;可使用类似@Cd.x>0来指定组(可能需要反斜杠转义),空字符串表示所有面;
    • point,指定的空间点位置;
    • maxdist,查找最大距离;
  • Return
    • ​​​​​​​最近点位置,未查找到最近点返回point;

nearpoint —— 查找离几何体最近的点

int nearpoint(<geometry>geometry, vector pt)
int nearpoint(<geometry>geometry, vector pt, float maxdist)
int nearpoint(<geometry>geometry, string ptgroup, vector pt)
int nearpoint(<geometry>geometry, string ptgroup, vector pt, float maxdist)
  • 查找几何体上最近的点号,并不是表面的位置;
  • 使用xyzdist可查找表面或曲线上最近点;
  • Args
    • <geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
    • ptgroup,点组,可使用SOP风格的组样式如0-10或@Cd.x>0.5,空字符串表示所有点;
    • pt,指定的空间点位置;
    • maxdist,最大查找距离;
  • Return
    • 最近点号,未查找到返回-1;

nearpoints —— 查找离几何体所有最近的点

int[] nearpoints(<geometry>geometry, vector pt, float maxdist)
int[] nearpoints(<geometry>geometry, vector pt, float maxdist, int maxpts)
int[] nearpoints(<geometry>geometry, string ptgroup, vector pt, float maxdist)
int[] nearpoints(<geometry>geometry, string ptgroup, vector pt, float maxdist, int maxpts)
  • Args
    • <geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
    • ptgroup,点组,可使用SOP风格的组样式如0-10或@Cd.x>0.5,空字符串表示所有点;
    • pt,指定的空间点位置;
    • maxdist,最大查找距离;
    • maxpts,最大查找点数;
  • Return
    • 返回搜索距离内的点号数组;
vector point = chv("point");
int pts[] = nearpoints(1, point, ch("maxdist"), chi("maxpts"));
vector pos;
int pt0 = addpoint(0, point);
int pt1;
foreach(int pt; pts){pos = point(1, "P", pt);pt1 = addpoint(0, pos);addprim(0, "polyline", pt0, pt1);
}

neighbour —— 下一个被连接到给定点的点号

int neighbour(<geometry>geometry, int point_num, int neighbour_num)
  • Args
    • <geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
    • point_num,指定的点号;
    • neighbour_num,将查找的邻居,邻居们没有特定的顺序;
      • neighbourcount,获取所有连接邻居的总数;
  • Return
    • 超出邻居数,点超出范围或不存在,返回-1;

neighbours —— 所有被连接到给定点的点号

int[] neighbours(<geometry>geometry, int ptnum)
  • <geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
//大致等价
int[] neighbours(int opinput, int ptnum)
{int i, n;int result[];n = neighbourcount(input, ptnum);resize(result, n);for (i = 0; i < n; i++)result[i] = neighbour(input, ptnum, i);
}

neighbourcount —— 被连接到给定点的点总数

int neighbourcount(<geometry>geometry, int point_num)
  • Args
    • <geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
    • point_num,指定的点号;
  • Return
    • 指定点号超出范围或没有输入,返回0;

intersect —— 计算射线的第一个交点

int intersect(<geometry>geometry, vector orig, vector dir, vector &p, float &u, float &v)
int intersect(<geometry>geometry, vector orig, vector dir, vector &p, float &u, float &v, ...)
int intersect(<geometry>geometry, vector orig, vector dir, vector &p, vector &uvw)
int intersect(<geometry>geometry, string group, vector orig, vector dir, vector &p, vector &uvw)
  • Args
    • ​​​​​​​​​​​​​​<geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
    • group,面组;
    • orig,射线起点;
    • dir,射线方向和最大距离;
    • &p,交点位置;
    • &u、&v、&uvw,在面上的参数化交点位置;​​​​​​​
  • Return
    • 交点面号,没有相交或错误返回-1;

注,当与metaball相交时,不能确定面号,将返回面总数;

vector origin = @P;
float max_dist = 1000;
vector dir = max_dist * normalize(@v);vector isect_pos;
float isect_u, isect_v;
//返回第一个交点
int isect_prim = intersect(@OpInput2, origin, dir, isect_pos, isect_u, isect_v);
//返回最远交点
isect_prim = intersect(@OpInput2, origin, dir, isect_pos, isect_u, isect_v, "farthest", 1);

intersects —— 计算射线的所有交点

int intersect_all(<geometry>geometry, string group, vector orig, vector dir, vector &pos[], int &prim[], vector &uvw[], float tol=0.01, float ttol=0.01)
  • Args
    • <geometry>,当运行在一个节点context(如wrangle SOP)时,此参数可以是一个整数(表示输入端);也可是一字符串(指定一几何体文件,如a.bgeo);
    • group,面组;
    • orig,射线起点;
    • dir,射线方向和最大距离;
    • &pos[],每一个交点位置;
    • &prim[],每一个交点面号;
    • &uvw[],每一个在面上的参数化交点坐标;​​​​​​​
    • tol,是3D容差;ttol,是射线容差;当相交与边时可避免额外交点,获取所有不合并的交点,设置ttol=-1;
  • Return
    • ​​​​​​​交点总数,没有相交返回0;

注,当与metaball相交时,不能确定面号,将返回面总数;

vector p[], uvw[];
int prim[];
vector origin = chv("origin");
vector dir = normalize(chv("dir"))*ch("length");
int num = intersect_all(@OpInput2, origin, dir, p, prim, uvw);
foreach(vector pos; p){addpoint(0, pos);
}

npoints —— 返回点总数

int npoints(<geometry>geometry)

​​​​​​​nprimitives —— 返回面总数

int nprimitives(<geometry>geometry)

​​​​​​​nvertices —— 返回顶点总数

int nvertices(<geometry>geometry)

​​​​​​​npointsgroup —— 返回组内的点总数

int npointsgroup(<geometry>geometry, string groupname)

​​​​​​​nprimitivesgroup —— 返回组内的面总数

int nprimitivesgroup(<geometry>geometry, string groupname)

​​​​​​​nverticesgroup —— 返回组内的顶点总数

int nverticesgroup(<geometry>geometry, string groupname)

pointprims —— 返回包含指定点的prim列表

int[] pointprims(geometry, int ptnum)
  • 返回面号数组,升序且不重复;

pointvertices —— 返回连接到指定点的顶点列表

int[] pointvertices(<geometry>geometry, int ptnum)
  • 返回被连接到给定点的顶点号数组,不依赖数字顺序;

primpoints —— 返回指定prim上点的列表

int[] primpoints(geometry, int primnum)
  • 返回点数组,和存储在面上的顺序相同;

primvertices —— 返回指定prim上的线性顶点列表

int[] primvertices(<geometry>geometry, int primnum)
  • 返回线性顶点索引,与存储在面的顺序相同;

pointvertex —— 返回与指定点共享的第一个顶点的线性顶点号

int pointvertex(<geometry>geometry, int point_num)
  • 与指定点共享的第一个顶点的线性顶点号,可使用vertexnext去迭代其他顶点;

primpoint —— 将prim上的vertex转化为对应的点号

int primpoint(geometry, int primnum, int vertex)
如:i@a = primpoint("op:../sphere1", 0, 2);
  • vertex为面的顶点,从0开始;
  • 返回顶点对应的点号,失败返回-1;

primvertex —— 将prim上的vertex转化为对应的线性顶点

int primvertex(<geometry>geometry, int primnum, int vertex)
  • vertex为面的顶点,从0开始;
  • 返回顶点对应的线性顶点号,失败返回-1;

​​​​​​​primvertexcount —— 返回prim上的顶点总数

int primvertexcount(<geometry>geometry, int prim_num)
  • 返回给定面上的顶点数,如面不存返回-1;

polyneighbours —— 返回边邻居的面号数组

primfind —— 返回可能与boundingbox边界相交的面号列表

removeattrib —— 移除指定属性或组

removepoint —— 移除指定点

removeprim —— 移除指定面

removepvertex —— 移除指定顶点

setprimvertex —— 将顶点重连接到不同的点

setvertexpoint —— 将顶点重连接到不同的点

setedgegroup —— 设置边组成员

expandedgegroup —— 返回边点列表

int[] expandedgegroup(<geometry>geometry, string groupname)
int[] expandedgegroup(<geometry>geometry, string groupname, string mode)
  • Args
    • 可使用ad-hoc,如0或p0-1,空字符串表示所有边;
    • mode
      • ordered,默认模式,将按字符串中出现的顺序返回数字,仅限于数字;但使用表达式如@Cd.x>0.5,顺序将不被保持;在返回的数组,相同的数字不会出现两次;
      • unordered,按排序的点号返回被解析的组;
      • split,先拆开字符串groupname为@字符串,然后解析每个子字符串;相同的数字可以出现多次;​​​​​​​
  • expandpointgroup
  • expandprimgroup
  • expandvertexgroup

inedgegroup —— 是否在指定的边组

int inedgegroup(string filename, string groupname, int pointnum0, int pointnum1)
int inedgegroup(int input, string groupname, int pointnum0, int pointnum1)
  • 在指定的边组,返回1;
  • 不在指定的边组,或组不存在,返回0;

nedgesgroup —— 返回组内的边数

int nedgesgroup(string filename, string groupname)
int nedgesgroup(int input, string groupname)
  • 必须是一个确定的组名,不可是adhoc组;

uvintersect —— 计算在UV空间内射线交点

vertexcurveparam —— 沿着面的周长返回顶点参数坐标

vertexindex —— 将顶点转化未线性顶点

vertexprev —— 返回与给定顶点分享点的上一个顶点的线性顶点号;

vertexnext —— 返回与给定顶点分享点的下一个顶点的线性顶点号;

vertexpoint —— 返回线性顶点的点号;

vertexprim —— 返回包含给定顶点的面号;

vertexprimindex —— 将线性顶点转化为顶点号;

clip —— 切割p0和p1之间的线段

void clip(int &result, vector &p0, vector &p1, vector4 plane)
void clip(int &result, vector &p0, vector &p1, vector min, vector max)

geounwrap 

string geounwrap(<geometry>geometry, string unwrap_attribute)

查看案例:UV Island 각각의 스케일을 줄여주는 방법 (3DS Max의 Uv Relax 대응)

vector t = chv("t");
vector r = chv("r");
vector s = chv("s");
string geo = geounwrap(0, "uv");
int island = prim(0, "island", @primnum);
vector center = getbbox_center(geo, "@island=" + itoa(island));
matrix xform = maketransform(0, 0, t, r, s, center);
v@uv *= xform;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/76268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络】UDP数据包是如何在网络中传输的?

List item 创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多计算机网络知识专栏&#xff1a;计算机网络&#x1f525;…

Vue项目使用axios配置请求拦截和响应拦截以及判断请求超时处理提示

哈喽大家好啊&#xff0c;最近做Vue项目看到axios axios官网&#xff1a;起步 | Axios 中文文档 | Axios 中文网 (axios-http.cn)​​​​​​ 重要点&#xff1a; axios是基于Promise封装的 axios能拦截请求和响应 axios能自动转换成json数据 等等 安装&#xff1a; $ npm i…

树莓派搭建K8S集群

最近学习k8s知识&#xff0c;想用树莓派搭建集群&#xff0c;在网找了不少&#xff0c;就发现一篇文章可以搭建成功香橙派4和树莓派4B构建K8S集群实践之一&#xff1a;K8S安装&#xff0c;参考了不少&#xff0c;这里主要记录下遇到的一些问题&#xff0c;参考的文章&#xff0…

入门Python编程:了解计算机语言、Python介绍和开发环境搭建

文章目录 Python入门什么是计算机语言1. 机器语言2. 符号语言&#xff08;汇编&#xff09;3. 高级语言 编译型语言和解释型语言1. 编译型语言2. 解释型语言 Python的介绍Python开发环境搭建Python的交互界面 python学习专栏python基础知识&#xff08;0基础入门&#xff09;py…

C高级 DAY3

一、shell中的变量 shell本身是擅长运行指令&#xff0c;是一种弱数据类型语言 它与c语言中定义变量有所不同 C中&#xff1a; 存储类型 数据类型 变量名;shell中&#xff1a; 变量变量的值 ----->如果变量的值中间没有空格直接使用 变量变量的值 ----->变量…

【uni-app】

准备工作&#xff08;Hbuilder&#xff09; 1.下载hbuilder&#xff0c;插件使用Vue3的uni-app项目 2.需要安装编译器 3.下载微信开发者工具 4.点击运行->微信开发者工具 5.打开微信开发者工具的服务端口 效果图 准备工作&#xff08;VScode&#xff09; 插件 uni-cr…

c++day3

stack.h #ifndef STACK_H #define STACK_H #include <iostream> //#define max 128 using namespace std; class Stack { private:int* stack;//数组指针int top;//栈顶元素int max;//栈容量 public://构造函数Stack();//析构函数~Stack();//定义拷贝构造函数Stack(cons…

Android窗口层级(Window Type)分析

前言 Android的窗口Window分为三种类型&#xff1a; 应用Window&#xff0c;比如Activity、Dialog&#xff1b;子Window&#xff0c;比如PopupWindow&#xff1b;系统Window&#xff0c;比如Toast、系统状态栏、导航栏等等。 应用Window的Z-Ordered最低&#xff0c;就是在系…

matlab如何遍历文件夹及子文件夹下的所有文件

需求 有一个比较深层的文件夹&#xff0c;每个文件夹及其子文件夹下都可能存在我所需要的csv文件&#xff0c;写一个函数&#xff0c;输入文件夹路径后可以返回所有符合要求的csv文件。 代码实现 % folder_path为输入的文件夹&#xff0c;str为指定的文件所特有的关键字&…

Vue导航守卫beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave

Vue导航守卫以我自己的理解就是监听页面进入,修改,和离开的功能。每个守卫接受三个参数 to: Route: 即将要进入的目标路由对象 from: Route: 当前导航正要离开的路由 next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。 next(): 进行…

docker运行并进入MySQL容器

1、运行容器 $ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 mysql这是一个使用Docker命令行工具来启动一个MySQL容器的命令。下面&#xff0c;让我们来详细解析这条命令&#xff1a; docker run docker: Docker的命令行工具。 run: Docke…

Codeforces Round 827 (Div. 4) D 1e5+双重for循环技巧

Codeforces Round 827 (Div. 4) D 做题链接&#xff1a;Codeforces Round 827 (Div. 4) 给定一个由 n个正整数 a1,a2,…,an&#xff08;1≤ai≤1000&#xff09;组成的数组。求ij的最大值&#xff0c;使得ai和aj共质&#xff0c;否则−1&#xff0c;如果不存在这样的i&#…

ChatGPT企业版来了,速度翻倍,无使用限制

美国时间8月28日&#xff0c;OpenAI宣布了自ChatGPT推出以来最重大的新闻&#xff1a;将推出ChatGPT企业版&#xff0c;企业版ChatGPT将直接对接GPT-4&#xff0c;提供无限制访问、高级数据分析功能、定制服务等服务&#xff0c;并支持处理更长文本输入的长上下文窗口。 OpenAI…

Jetsonnano B01 笔记3:GPIO上拉下拉-输入输出读取

今日继续我的jetsonnano学习之路&#xff0c;今日学习的是GPIO的上拉下拉&#xff0c;输入输出的读取&#xff0c;文章贴出完整操作步骤过程&#xff0c;贴出源码。 目录 Linux常用文件命令&#xff1a; ls&#xff08;list&#xff09;列表&#xff1a; man&#xff1a; …

页面页脚部分CSS分享

先看效果&#xff1a; CSS部分&#xff1a;&#xff08;查看更多&#xff09; <style>body {display: grid;grid-template-rows: 1fr 10rem auto;grid-template-areas: "main" "." "footer";overflow-x: hidden;background: #F5F7FA;min…

有哪些Linux可以替代centerOS的

有哪些Linux可以替代centerOS的 CentOS是一个非常流行的企业级Linux发行版&#xff0c;但是在2020年12月&#xff0c;CentOS宣布将停止提供长期支持&#xff08;LTS&#xff09;版本&#xff0c;这对于很多企业和用户来说是一个巨大的打击。以下是一些可以替代CentOS的Linux发…

如何使用SQL系列 之 如何在MySQL中使用触发器

引言 当使用关系型数据库和结构化查询语言(SQL)时&#xff0c;对数据的大多数操作都是显式执行查询的结果&#xff0c;例如SELECT、INSERT或UPDATE。 然而&#xff0c;SQL数据库也可以被指令在特定事件发生时通过触发器自动执行预定义的操作。例如&#xff0c;您可以使用触发…

【微服务】五. Nacos服务注册

Nacos服务注册 5.1 Nacos服务分级存储模型Nacos服务分级存储模型&#xff1a;服务集群属性&#xff1a;总结&#xff1a; 5.2 根据集群负载均衡总结 5.3 Nacos服务实例的权重设置总结&#xff1a; 5.6 环境隔离namespace总结 5.7 Nacos和Eureka的对比总结 5.1 Nacos服务分级存储…

C#数据类型:object、var和dynamic的比较与应用

文章目录 引言&#xff1a;一、object类型&#xff1a;object类型的使用场景&#xff1a;object类型的限制&#xff1a; 二、var类型&#xff1a;var类型的使用场景&#xff1a;var类型的限制&#xff1a; 三、dynamic类型&#xff1a;dynamic类型的使用场景&#xff1a;dynami…

buildroot中C语言使用libconfig的实例

首先在buildroot中开启libconfig 在config中添加 BR2_PACKAGE_LIBCONFIGy 下面是官方给出来的3个实例 /* ----------------------------------------------------------------------------libconfig - A library for processing structured configuration filesCopyright (…