- 博客(79)
- 资源 (29)
- 收藏
- 关注

原创 C++多线程系列(C++11)——条件变量condition_variable(六)
Data 2018/11/13 Add By WJB在客户端显示服务发送的数据时,一般处理方法:首先创建一个deque作为缓存,接受的服务端push进deque中,客户端有一个线程取deque中数据,如图所示。简单的处理代码如下:mutex m_mutex;deque<int> g_deque1;void Function_1(){ int count = ...
2018-11-14 00:10:20
346

原创 引用glew库有些方法在lib库中找不到问题
Data 2018/7/5 by WJB 使用OpenGL半年多了,主要是用QT封装的OpenGL方法,初始化很简单,还有就是学习教程,环境搭建也是跟着教程写的遇到问题比较少,但是需要自己写程序创建初始环境时遇到很多问题。 在引用glew时除了Init方法可以用外所有方法都无法调用,开始怀疑自己的lib有问题,64位和32位不断跟换尝试,但是仍然解决不了,最后在看到我原来教程...
2018-07-05 08:58:19
1171
1

原创 OpenGL透明效果源码(VS2015/x64)
Data 2018/7/4 by WJB知识点: Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透明,α值为1则完全不透明。混合操作只能在RGBA模式下进行,颜色索引模式下无法指定α值。物体的绘制顺序会影响到OpenGL的混合处理。g...
2018-07-04 13:58:37
675
1

原创 C++ 封装分数类(加减乘除大于小于)
C++ 封装分数类,话少说直接上代码/*****************************************************************************************/fraction.h代码#pragma once#include <iostream>using namespace std;class fraction{public...
2018-02-08 17:26:02
2046
3
原创 ArcGIS JavaScript for API(007)featurelayer 要素查询,查询指定范围内包含要素featurelayer .queryFeatures。
我们在做系统开发时,经常会遇到,要查询指定范围内包含的要素。原理很简单就是面内包含的要素。arcgis featurelayer 可以实现这个功能。使用到的接口 是featurelayer .queryFeatures(options),返回结果是FeatureSet。我实现了一个 以鼠标点击点为中心,指定为半径范围内包含的要素。layer.queryFeatures({ geometry: geo, // 查询中心点
2022-05-10 10:59:03
2165
5
原创 排序算法 C++实现(4)——堆排序
1,定义堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序;简单的说,堆是一种完全二叉树,根据父子节点之间的大小关系的不同还可以细分为「大顶堆」和「小顶堆」。大顶堆是指任一节点的值都大于或等于其左右孩子的值,小顶堆是指任一节点的值都小于或等于其左右孩子的值。下图分别是大顶堆和小顶堆的结构。我们以大顶堆为例,演示一下堆排序过程。现在我们有一个待排序数组[2,7,4,3,1,9,5],初始状态是这样的:2,排序过程原理找出最大数值然后放到末尾,次末尾,依次排放.
2022-05-09 18:01:08
724
1
原创 排序算法 C++实现(3)——简单选择排序
1,原理定义 它的基本思想是:第一次从 数组中选取最小值,与arr[0]交换,第二次从剩余的数中选取最小值,与arr[1]|交换,以此类推,得到一个按排序码从小到大排列的有序序列。 优点是数据移动次数减少。2,原理图片展示3,代码实现C++ 代码实现如下:// SimpleSelect.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>//测试数组 ...
2022-05-07 18:20:10
648
原创 排序算法 C++实现(2)——shell排序,希尔排序
1,排序原理希尔排序,也称递减增量排序算法,是直接插入排序算法的一种高速而稳定的改进版本。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。2,原理图3,实现代码:#include "stdafx.h"#include<iostream>//测试数组 正确顺序维 2,3,7,12,15,31,34,45,54,64,86int data[]..
2022-05-06 16:35:14
559
1
原创 排序算法 C++实现(1)——直接插入法
1,基本原理 直接插⼊排序(Straight-Insertion-Sort)是⼀种最简单的排序⽅法,其基本操作是将⼀条记录插⼊到已排好的有序表中,从⽽得到⼀个新的、记录数量增1的有序表。 通俗⼀点的讲,就是把数组中的元素⼀个个取出来,每取出⼀个就组成⼀个有序列表,直到将元素取完为⽌。例如:[20, 9, 14, 15, 30]这样⼀个数组,以升序为例,取第⼀个数时,组成有序列表20;取第⼆个数时,组成有序列表9,20;取第三个数时,组成9,14,20;取第四个数时,组成9,14,15,...
2022-05-06 15:16:33
1228
1
原创 ArcGIS JavaScript for API(006)basemap 提供的不同地图
arcgis 提供了很多在线地图,在创建map是可以直接引用,本篇文章介绍一下,arcgis提供的不同类型的地图。1,basemap 创建代码如下: const map = new Map({ basemap: 底图名称 }); const view2 = new MapView({ container: "view2Div", map: map, });名称 效果 dark-gray
2022-05-06 11:49:58
1358
1
原创 ArcGIS JavaScript for API(005)二三维切换
二三维切换基本思路:创建两个视图器,二维视图器 MapView和三维视图器SceneView; 两个视图器共用一个div容易,两个视图器的container相同,每次只放入一个视图器; 二三维场景切换时 要使用同一个viewpoint信息,确保切换后视点相同;具体代码如下所示:<html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial
2022-05-06 11:02:41
1748
2
原创 html img 标签,属性 比例不变修改大小
img 标签,首先明确img是单标签不是成对出现的即 <img> 即可。src 属性 就是图片的地址<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content...
2022-04-29 14:40:08
3112
1
原创 ArcGIS JavaScript for API(004)二三维联动 双屏
二三维联动具体思路如下:1,分别创建一个MapView和SceneView 然后分别放入两个div 中,div如何分布看自己的需求、2,通过view.watch()函数监测 鼠标事件,并传给另一个view。3,通过设置viewpoint 保持两个view的同步。具体代码如下:<html> <head> <meta charset="utf-8" /> <meta name="viewport" content="initia
2022-04-27 14:14:23
2228
原创 ArcGIS JavaScript for API(003):geojsonlayer
根据图层名字就可以明白,这类图层数据源就是geojson,即json串格式的地理空间数据,属于矢量数据。有了KML和shp为什么还要geojson呢?也许甲方爸爸只有这个数据,哈哈哈……,不要深究为什么用这个格式,掌握这个技能才是重点!如果手上没有现成的数据可以从这个地址下载,河北省市级面数据,注意:下载需要一个积分,如果没有积分可留言留下邮箱地址,我回尽快发送给您。市级河北省面数据,geojson格式,-Javascript文档类资源-优快云下载实例代码如下:<!DOCTYP
2022-04-26 16:47:39
2671
3
原创 ArcGIS JavaScript for API(002)弹窗 view 属性Popup
首先创建arcgis api 基础环境,最基础的地图显示,代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initi
2022-04-24 21:44:33
3720
原创 JavaScript 异步 setTimeout promise async await
异步在此就不再赘述,下面主要说一下JS中异步的实现方式。1,setTimeout 计时器 ,实现代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=
2022-04-22 23:00:07
1608
原创 arcgis与pgSQL发布feature access
Arcgis连接pgsql 发布服务操作系统win10;arcgis 10.6 ;pgsql 9.4 64位;arcgis server 10.4 postgis pg94x64 ArcGIS Server 10.4.1.ecp说明:pgsql必须得用64位,因为arcgis desktop10.6 支持pg 9.4 9.4 9.6 ,arcgis server10.4 支持9.2 9.3 9.4 所以选择了pg9.4正常安装arcgis desktop,arcgis server,pgsql,.
2022-04-20 09:43:44
1302
1
原创 问题记录0001-npm ERR syscall rename errno -4058 解决
npm ERR! code ENOENTnpm ERR! syscall renamenpm ERR! path "user"\AppData\Roaming\npm\node_modules\.staging\js2cp-28011c0d\node_modules\fs-extranpm ERR! dest "user"\AppData\Roaming\npm\node_modules\.staging\fs-extra-d19736e5 npm ERR! errno -4058npm E.
2022-04-02 09:44:31
2979
原创 ArcGIS JavaScript for API(001):加载ArcGISServer MapServer
根据工作需要最近在调研 arcgis api。地图显示:1,基础地图显示 :在创建map时,定义“basemap”,即可显示arcgis预设地图。const map = new Map({ basemap: 'streets-night-vector' });2,加载指定地图服务地图-arcgis server地图源:arcgis server 发布地图网上教程很多,在此不再赘述;加载arcgis server地图功能实现很简单,主要是选对laye
2022-03-29 15:35:12
3055
原创 Cesium001-坐标介绍
1,WGS84经纬度坐标;系统中没有具体的对象。2,WGS84弧度坐标(Cartographic);对象创建:new Cesium.Cartographic(lon,lat,alt);lon:经度,lat:维度,alt:海拔3,笛卡尔空间直角坐标系(Cartesian3);对象创建: new Cesium.Cartesian3(x,y,z);x:x轴坐标,y:y轴坐标,z:z轴坐标4,平面坐标系(Cartesian2);对象创建: new Cesium.Cartesia.
2022-02-11 15:20:05
399
1
原创 VS code 自动调整代码格式
Date 20210802 By WJB使用vscode编写代码时,代码格式调整比较麻烦,多余空格,多余空行等,代码不够美观,可读性差。可以通过vscode 设置(setting)实现代码自动格式化调整。设置过程如下:点击 vscode 软件 左下角设置按钮打开设置界面后,右上角有个转为json的按钮,点击该按钮转为json。在数组中添加"editor.formatOnType":true,"editor.formatOnSave":tr...
2021-08-02 11:39:39
19176
3
原创 vue框架中子组件与父组件之间的通信
Date2021-06-09 By WJBVue框架中强调单向数据流。对于 Vue 来说,组件之间的数据传递具有单向数据流这样的特性。所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行。这样会防止从子 组件意外改变父级组件的状态,从而导致你的应用的数据流向难以理解。额外的,每次父级组件发生更新时,子组件中所有的 prop 都将会刷新为 最新的值。这意味着你不应该在一个子组件内部改变 prop。如果你这样做 了,Vue 会
2021-06-09 11:31:56
578
3
原创 mustache模板引擎-指令 v-html
mustache模板引擎-指令都是以 v-开头。v-for 即循环生成标签。注意:代码中用了vue框架和模板字符,
2021-06-07 19:40:54
172
原创 mustache模板引擎-指令 v-for
Date 2021-06-07mustache模板引擎-指令都是以 v-开头。v-for 即循环生成标签。要注意的是每个标签最好有固定稳定的keyzh
2021-06-07 19:06:30
178
原创 ES6语法糖-模板字符
Date 2021-06-07 By WJB关于语法糖的理解:是指计算机语言中添加的某种语法,这种语法对语言的功能并没有什么影响,但是更方便程序员使用,通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。...
2021-06-07 10:58:30
167
原创 ES6语法糖-速写方法
Date 2021-06-07关于语法糖的理解:是指计算机语言中添加的某种语法,这种语法对语言的功能并没有什么影响,但是更方便程序员使用,通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。...
2021-06-07 10:45:55
150
原创 ES6语法糖-速写属性
关于语法糖的理解:是指计算机语言中添加的某种语法,这种语法对语言的功能并没有什么影响,但是更方便程序员使用,通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。...
2021-06-07 10:21:17
171
原创 Vue-router中对path的误解和说明-path的正确理解。
Date 20210603 By WJB由于工作需要,最近开始学习Vue框架,遇到的第一个问题是关于路由(router)方面的问题。管理路由的解释网上有很多文章
2021-06-03 15:04:58
8579
原创 JavaScript-临时性死区(TDC)-解决变量提升造成的冗余
Date 20201211 By WJB暂时性死区 ( temporal dead zone ): 变量所在作用域开始到变量声明的位置 之间的区域 称为临时性死区。在以前文章《JavaScript-var-变量提升》(https://blog.youkuaiyun.com/wangjianbo09/article/details/110931338)...
2020-12-11 10:50:32
928
原创 JavaScript-var-变量提升
DATE 20201209 By WJB变量提升就是作用域中声明的变量在代码预编译时会将所有的变量声明语句提升到最前边。例如index.html<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>lesson1</title> </head> <body&..
2020-12-09 18:03:52
909
原创 JavaScript-如何动态导入模块
Data20201209 By WJB模块加载分为静态加载和动态加载。该文章讲解如何动态加载模块,也就是在程序运行过程中,遇到某个操作或者某个事件时加载需要的模块。代买展示1,模块代码md.js export function add(a,b) { return a+b; }2, html文件moduldome.html(1)静态加载<!doctype html><html lang="en"> <head&g
2020-12-09 12:54:32
2852
原创 vcpkg:If you are sure you want to rebuild the above packages, run the command with the --recurse opt
使用vcpkg时编译osgearth时遇到如下问题:If you are sure you want to rebuild the above packages, run the command with the --recurse option;暂时没有解决,希望各位大神指点一下。如果又解决方案会尽快更新。
2020-08-25 17:17:18
1658
5
原创 cvpkg错误记录:msys-pacman-x64-windows-err 已解决
在使用vcpkg时,遇到了关于pacman的错误,错误日志如下: error: failed to init transaction (unable to lock database) error: could not lock database: File exists if you're sure a package manager is not already running, you can remove /var/lib/pacman/db.lck暂时没有找到解决方法,广大码...
2020-08-20 13:06:29
994
原创 C++中回调函数使用详解方法大全
引言:在C++编程,尤其时写Qt程序时,需要大量使用回调函数,在网上也有很多大牛对回调函数的使用进行了讲解,但是很多都是针对某一个或者两个特定的类型的。我在这篇文章中对网上关于回调函数的使用进行了归纳总结,并且对每一种类型的回调函数都写了一个简单的例子来实现,每个例子都可以在vs2015中编译通过,由于使用了C++11的新标准,所以在vc6.0中可能没法直接编译通过。一、普通函数作为回调函数普通函数作为回调函数时,使用普通的函数指针进行传入。例:#include <iostream
2020-07-15 13:54:44
3558
原创 D3D学习笔记(1)—— SO 阶段介绍 AutoDraw使用条件
Date 2020-04-14 Add by WJB D3D10 新特性 流输出(stream out)so阶段。它允许GPU向绑定在管线SO阶段上的顶点缓冲区V写入几何数据。几何着色器输出的顶点都会被写入到V中。...
2020-04-16 16:23:11
361
转载 单精度,双精度和精度(转载)
浮点数是计算机上最常用的数据类型之一,有些语言甚至数值只有浮点型(Perl,Lua同学别跑,说的就是你)。常用的浮点数有双精度和单精度。除此之外,还有一种叫半精度的东东。双精度64位,单精度32位,半精度自然是16位了。半精度是英伟达在2002年搞出来的,双精度和单精度是为了计算,而半精度更多是为了降低数据传输和存储成本。很多场景对于精度要求也没那么高,例如分布式深度学习里面,如果...
2020-03-16 10:29:29
2120
原创 D3D10 截图功能 保存Texture到本地
Date 20200311 By Wjb直接上代码: ID3D10Resource* pScreen; mRenderTargetView->GetResource(&pScreen); D3D10_TEXTURE2D_DESC texDesc; texDesc.ArraySize = 1; texDesc.CPUAccessFlags = 0...
2020-03-11 13:53:32
896
2
原创 C++ 动态加载dll,GetProcAddress用法的一些误解
Date 20200212 By WJB昨天在写代码时,需要动态加载一个dll动态库,在网上找方法,很快就找到了。代码很简单只有几行,但是尝试了很久才成功,主要是在获取接口时,方法名称这个参数理解错误。测试过程:1,首先创建一个动态库。接口如下:extern "C" __declspec(dllexport) int myfunc(int a){ return a;...
2020-02-12 15:26:35
3289
设计模式之 适配器 Adapter C++ 源码
2022-09-22
arcgis 10.6-pgsql 9.4 64位-arcgis server 10.4-postgis pg94x64
2022-04-20
callbacktest.zip
2020-07-15
MyExamples.zip
2020-02-12
release.rar
2019-07-26
一个实例告诉你什么是封装继承和多态二
2018-08-30
一个实例告诉你什么是封装继承和多态
2018-08-30
windows API编写OpenGL窗体源码
2018-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人