-- @/=[C]:-1
function copy(...)
if (!Array.isArray(device.contents.bindings)) {
const backup = angular.copy(device.contents.bindings)
device.contents.bindings = Object.values(backup)
defaultBindingEntry: function (action, control) {
var tmpl = angular.copy(controlsContents.bindingTemplate)
tmpl.action = action
removeBinding: function (device, control, action, mockSave) {
var deviceContents = angular.copy($filter('filter')(controlsContents.bindings, {devname: device}, true)[0].contents)
var entry = $filter('filter')(deviceContents.bindings, {control: control, action: action}, true)[0] || null
addBinding: function (device, bindingData, replace, mockSave) {
var deviceContents = angular.copy($filter('filter')(controlsContents.bindings, {devname: device}, true)[0].contents)
if (replace) {
Object.keys(bindingsByDevice).forEach(function(device) {
var deviceContents = angular.copy($filter('filter')(controlsContents.bindings, {devname: device}, true)[0].contents)
// Regular binding edit
$state.go('menu.options.controls.bindings.edit', { action: action, oldBinding: {device: device, control: control, sel: angular.copy(_bindingData)} })
}
vm.newBinding = angular.copy(vm.oldBinding)
vm.select = function (action, device, control) {
$state.go('menu.options.controls.ffb.edit', { action: action, oldBinding: {device: device, control: control, sel: angular.copy(_bindingData)} })
}
if im.Selectable1(nodeName) then
ffi.copy(nodeInputTextInput, "")
if im.Selectable1(vertName) then
ffi.copy(vertexInputTextInput, "")
{
function copy(error, text)
{
self:setShowSaveBoundaryDialog(false)
ffi.copy(self:getBoundaryPresetName(), "")
end
self:setShowSaveBoundaryDialog(false)
ffi.copy(self:getBoundaryPresetName(), "")
end
self:setShowSavePathnodeDialog(false)
ffi.copy(self:getPathnodePresetName(), "")
end
self:setShowSavePathnodeDialog(false)
ffi.copy(self:getPathnodePresetName(), "")
end
self:setShowSaveTrailDialog(false)
ffi.copy(self:getTrailPresetName(), "")
end
self:setShowSaveTrailDialog(false)
ffi.copy(self:getTrailPresetName(), "")
end
if im.Button("Get Camera Transform") then
ffi.copy(camTransfrom, commands.getCameraTransformJson())
end
editor_fileDialog.openFile(function(data)
ffi.copy(directoryToBeautifyPtr, data.path)
end, {{"JBeam files", ".jbeam"}}, true, "/vehicles/")
editor_fileDialog.openFile(function(data)
ffi.copy(directoryToBeautifyPtr, data.filepath)
end, {{"JBeam files", ".jbeam"}}, false, "/vehicles/")
// assume that if it's in this list it is installed locally
var d = angular.copy(data[k])
$scope.$evalAsync(() => {
local p2 = vec3(p.x + 0.8660254037844386 * r, p.y - 0.5 * r, p1.z) -- sin(60) => 0.8660254037844386, cos(60) => 0.5
local p3 = p2:copy()
p3.x = p.x - 0.8660254037844386 * r
tab[1] = gp:getEdgePositions(path[1], path[2])
tab[1] = tab[1]:copy()
for i = 2, pathCount-1 do
tab[pathCount] = gp:getEdgePositions(path[pathCount], path[pathCount-1])
tab[pathCount] = tab[pathCount]:copy()
return tab
-- Deep copies an array of nodes (without time stamps).
local function copy(d)
local c, len = {}, #d
local oldNodes = {}
oldNodes = copy(dn)
dn[numNodes + 1] = { x = pos.x, y = pos.y, z = pos.z, isLocked = false } -- Handle left mouse clicks, to add nodes.
local newNodes = {}
newNodes = copy(dn)
local data = { old = oldNodes, new = newNodes }
-- notice the reverse - for the network endian byte order
ffi.copy(orientation, data:reverse(), ffi.sizeof(orientation))
$rootScope.$on('sendVehicleList', function (event, response) {
response.origFilters = angular.copy(response.filters)
response.filters = updateFilters(response)
var vm = this
vm.data = angular.copy(vehiclesData)
vm.mode = VehicleSelectConfig.configs[$stateParams.mode || 'default']
Vehicles.populate().then(() => {
vm.data = angular.copy(vehiclesData)
if cacheUsingMatrixMath then
local opsMat = cacheOpsMat:copy()
opsMat:inverse()
if set then
ffi.copy(editingSetName, set.name)
end
if editor.uiIconImageButton(editor.icons.content_copy, nil, nil, nil, nil) then
editor.copy()
end
copy()
{
if preset.name then
ffi.copy(terrainImpExp.terrainName, preset.name)
end
if preset.heightMapPath then
ffi.copy(terrainImpExp.heightMapTexture, preset.heightMapPath)
end
if preset.holeMapPath then
ffi.copy(terrainImpExp.holeMapTexture, preset.holeMapPath)
end
copy()
{
if (!options.$$prepared) {
options = prepareAnimationOptions(copy(options));
}
// the input data when running `$animateCss`.
var options = copy(initialOptions);
// Example with 1 argument
$scope.user = angular.copy($scope.master);
};
// Example with 2 arguments
angular.copy(user, $scope.master);
};
*/
function copy(source, destination) {
var stackSource = [];
if (!options.$$prepared) {
options = copy(options);
}
* this.log.push('doCheck: items mutated');
* this.items_clone = angular.copy(this.items);
* }
} else if (isObject(search)) {
search = copy(search, {});
// remove object undefined or null properties
} else if (this.selfReferential.hasOwnProperty(this.peek().text)) {
primary = copy(this.selfReferential[this.consume().text]);
} else if (this.options.literals.hasOwnProperty(this.peek().text)) {
expensiveChecks: false,
literals: copy(literals),
isIdentifierStart: isFunction(identStart) && identStart,
expensiveChecks: true,
literals: copy(literals),
isIdentifierStart: isFunction(identStart) && identStart,
lastDirtyWatch = watch;
watch.last = watch.eq ? copy(value, null) : value;
fn = watch.fn;
var that = this;
this.$options = copy($scope.$eval($attrs.ngModelOptions));
// Allow adding/overriding bound events
// we need to make a copy and not return the reference to the value on the option.
return trackBy ? angular.copy(option.viewValue) : option.viewValue;
}
if (representedObject instanceof WI.SourceCode) {
var revision = representedObject.originalRevision.copy();
representedObject.currentRevision = revision;
{
var copiedRevisions = this._revisions.map(function(revision) { return revision.copy(); });
return new WI.Branch(displayName, copiedRevisions);
local arrayChar = im.ArrayChar(arraySize)
ffi.copy(arrayChar, serializedProgress)
self._text = {arrayChar, arraySize}
copy()
{
let previousStylesMap = this._stylesMap.copy();
if fieldValue ~= nil then
ffi.copy(self.inputTextValue, fieldValue)
else
else
ffi.copy(self.inputTextValue, "")
end
if fieldValue ~= nil then
ffi.copy(self.inputTextValue, fieldValue)
end
if fieldValue ~= nil then
ffi.copy(self.inputTextValue, fieldValue)
else
else
ffi.copy(self.inputTextValue, "")
end
vm.data = $stateParams.data
var originalData = angular.copy($stateParams.data)
vm.data.logPoints = vm.data.points.concat(Array.isArray(vm.data.logPoints) ? vm.data.logPoints : [])
local tcomParams = tech_techCore.getTcomParams()
ffi.copy(openServerGuiData.ip, tcomParams.ip)
openServerGuiData.port[0] = tcomParams.port
// assume that if it's in this list it is installed locally
var d = angular.copy(data[k])
$scope.$evalAsync(() => {
p2:set(p.x + 0.8660254037844386 * r, p.y - 0.5 * r, p1.z) -- sin(60) => 0.8660254037844386, cos(60) => 0.5
local p3 = p2:copy()
p3.x = p.x - 0.8660254037844386 * r
if (langKey && $translationTable[langKey]) {
return angular.copy($translationTable[langKey]);
}
for i = 1, (sqArea*sqArea) / density do
local blue = p:getBlueNoise2d():copy() * sqArea
blue = blue + vec3(zone.aabb.xMin, zone.aabb.yMin, 0)
local function copy(list, fr, to, mat)
move(list, fr, to, mat, 1)
tmp0:setAdd(tmp2)
return tmp0:copy()
end
local clearVars = function()
ffi.copy(var.newFolderName, "")
var.newFolderMessages = {}
if im.Button("Cancel") then
ffi.copy(var.newFolderName, "")
clearVars()
im.TextFilter_SetInputBuf(var.assetViewFilter, "")
--ffi.copy(var.assetViewFilter.InputBuf,"") --because SetInputBuf doesn't work here
im.ImGuiTextFilter_Clear(var.assetViewFilter)
if editor.uiIconImageButton(editor.icons.close, imgui.ImVec2(22, 22)) then
ffi.copy(simObjectClassNameFilter, "")
end
end
ffi.copy(imValues.groupName, currGroup.name)
else
table.insert(currGroup.tags, tagName)
ffi.copy(imValues.tagName, "")
end
*/
"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(a,b,c){"use strict";function d(a,b){return S(new(S(function(){},{prototype:a})),b)}function e(a){return R(arguments,function(b){b!==a&&R(b,function(b,c){a.hasOwnProperty(c)||(a[c]=b)})}),a}function f(a,b){var c=[];for(var d in a.path){if(a.path[d]!==b.path[d])break;c.push(a.path[d])}return c}function g(a){if(Object.keys)return Object.keys(a);var b=[];return R(a,function(a,c){b.push(c)}),b}function h(a,b){if(Array.prototype.indexOf)return a.indexOf(b,Number(arguments[2])||0);var c=a.length>>>0,d=Number(arguments[2])||0;for(d=d<0?Math.ceil(d):Math.floor(d),d<0&&(d+=c);d=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return S({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e "));if(s[c]=d,O(a))q.push(c,[function(){return b.get(a)}],j);else{var e=b.annotate(a);R(e,function(a){a!==c&&i.hasOwnProperty(a)&&n(i[a],a)}),q.push(c,a,e)}r.pop(),s[c]=f}}function o(a){return P(a)&&a.then&&a.$$promises}if(!P(i))throw new Error("'invocables' must be an object");var p=g(i||{}),q=[],r=[],s={};return R(i,n),i=r=s=null,function(d,f,g){function h(){--u||(v||e(t,f.$$values),r.$$values=t,r.$$promises=r.$$promises||!0,delete r.$$inheritedValues,n.resolve(t))}function i(a){r.$$failure=a,n.reject(a)}function j(c,e,f){function j(a){l.reject(a),i(a)}function k(){if(!M(r.$$failure))try{l.resolve(b.invoke(e,g,t)),l.promise.then(function(a){t[c]=a,h()},j)}catch(a){j(a)}}var l=a.defer(),m=0;R(f,function(a){s.hasOwnProperty(a)&&!d.hasOwnProperty(a)&&(m++,s[a].then(function(b){t[a]=b,--m||k()},j))}),m||k(),s[c]=l.promise}if(o(d)&&g===c&&(g=f,f=d,d=null),d){if(!P(d))throw new Error("'locals' must be an object")}else d=k;if(f){if(!o(f))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else f=l;var n=a.defer(),r=n.promise,s=r.$$promises={},t=S({},d),u=1+q.length/3,v=!1;if(M(f.$$failure))return i(f.$$failure),r;f.$$inheritedValues&&e(t,m(f.$$inheritedValues,p)),S(s,f.$$promises),f.$$values?(v=e(t,m(f.$$values,p)),r.$$inheritedValues=m(f.$$values,p),h()):(f.$$inheritedValues&&(r.$$inheritedValues=m(f.$$inheritedValues,p)),f.then(h,i));for(var w=0,x=q.length;w=0));)s=f(r.id,r.type,r.cfg,"path"),l+=g(r.segment,s.type.pattern.source,s.squash,s.isOptional),n.push(r.segment),m=j.lastIndex;t=a.substring(m);var u=t.indexOf("?");if(u>=0){var v=this.sourceSearch=t.substring(u);if(t=t.substring(0,u),this.sourcePath=a.substring(0,m+u),v.length>0)for(m=0;i=k.exec(v);)r=h(i,!0),s=f(r.id,r.type,r.cfg,"search"),m=j.lastIndex}else this.sourcePath=a,this.sourceSearch="";l+=g(t)+(b.strict===!1?"/?":"")+"$",n.push(t),this.regexp=new RegExp(l,b.caseInsensitive?"i":c),this.prefix=n[0],this.$$paramNames=q}function t(a){S(this,a)}function u(){function a(a){return null!=a?a.toString().replace(/(~|\/)/g,function(a){return{"~":"~~","/":"~2F"}[a]}):a}function e(a){return null!=a?a.toString().replace(/(~~|~2F)/g,function(a){return{"~~":"~","~2F":"/"}[a]}):a}function f(){return{strict:p,caseInsensitive:m}}function i(a){return N(a)||Q(a)&&N(a[a.length-1])}function j(){for(;w.length;){var a=w.shift();if(a.pattern)throw new Error("You cannot override a type's .pattern at runtime.");b.extend(r[a.name],l.invoke(a.def))}}function k(a){S(this,a||{})}V=this;var l,m=!1,p=!0,q=!1,r={},v=!0,w=[],x={string:{encode:a,decode:e,is:function(a){return null==a||!M(a)||"string"==typeof a},pattern:/[^\/]*/},int:{encode:a,decode:function(a){return parseInt(a,10)},is:function(a){return M(a)&&this.decode(a.toString())===a},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0!==parseInt(a,10)},is:function(a){return a===!0||a===!1},pattern:/0|1/},date:{encode:function(a){return this.is(a)?[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-"):c},decode:function(a){if(this.is(a))return a;var b=this.capture.exec(a);return b?new Date(b[1],b[2]-1,b[3]):c},is:function(a){return a instanceof Date&&!isNaN(a.valueOf())},equals:function(a,b){return this.is(a)&&this.is(b)&&a.toISOString()===b.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:b.toJson,decode:b.fromJson,is:b.isObject,equals:b.equals,pattern:/[^\/]*/},any:{encode:b.identity,decode:b.identity,equals:b.equals,pattern:/.*/}};u.$$getDefaultValue=function(a){if(!i(a.value))return a.value;if(!l)throw new Error("Injectable functions cannot be called at configuration time");return l.invoke(a.value)},this.caseInsensitive=function(a){return M(a)&&(m=a),m},this.strictMode=function(a){return M(a)&&(p=a),p},this.defaultSquashPolicy=function(a){if(!M(a))return q;if(a!==!0&&a!==!1&&!O(a))throw new Error("Invalid squash policy: "+a+". Valid policies: false, true, arbitrary-string");return q=a,a},this.compile=function(a,b){return new s(a,S(f(),b))},this.isMatcher=function(a){if(!P(a))return!1;var b=!0;return R(s.prototype,function(c,d){N(c)&&(b=b&&M(a[d])&&N(a[d]))}),b},this.type=function(a,b,c){if(!M(b))return r[a];if(r.hasOwnProperty(a))throw new Error("A type named '"+a+"' has already been defined.");return r[a]=new t(S({name:a},b)),c&&(w.push({name:a,def:c}),v||j()),this},R(x,function(a,b){r[b]=new t(S({name:b},a))}),r=d(r,{}),this.$get=["$injector",function(a){return l=a,v=!1,j(),R(x,function(a,b){r[b]||(r[b]=new t(a))}),this}],this.Param=function(a,d,e,f){function j(a){var b=P(a)?g(a):[],c=h(b,"value")===-1&&h(b,"type")===-1&&h(b,"squash")===-1&&h(b,"array")===-1;return c&&(a={value:a}),a.$$fn=i(a.value)?a.value:function(){return a.value},a}function k(c,d,e){if(c.type&&d)throw new Error("Param '"+a+"' has two type configurations.");return d?d:c.type?b.isString(c.type)?r[c.type]:c.type instanceof t?c.type:new t(c.type):"config"===e?r.any:r.string}function m(){var b={array:"search"===f&&"auto"},c=a.match(/\[\]$/)?{array:!0}:{};return S(b,c,e).array}function p(a,b){var c=a.squash;if(!b||c===!1)return!1;if(!M(c)||null==c)return q;if(c===!0||O(c))return c;throw new Error("Invalid squash policy: '"+c+"'. Valid policies: false, true, or arbitrary string")}function s(a,b,d,e){var f,g,i=[{from:"",to:d||b?c:""},{from:null,to:d||b?c:""}];return f=Q(a.replace)?a.replace:[],O(e)&&f.push({from:e,to:c}),g=o(f,function(a){return a.from}),n(i,function(a){return h(g,a.from)===-1}).concat(f)}function u(){if(!l)throw new Error("Injectable functions cannot be called at configuration time");var a=l.invoke(e.$$fn);if(null!==a&&a!==c&&!x.type.is(a))throw new Error("Default value ("+a+") for parameter '"+x.id+"' is not an instance of Type ("+x.type.name+")");return a}function v(a){function b(a){return function(b){return b.from===a}}function c(a){var c=o(n(x.replace,b(a)),function(a){return a.to});return c.length?c[0]:a}return a=c(a),M(a)?x.type.$normalize(a):u()}function w(){return"{Param:"+a+" "+d+" squash: '"+A+"' optional: "+z+"}"}var x=this;e=j(e),d=k(e,d,f);var y=m();d=y?d.$asArray(y,"search"===f):d,"string"!==d.name||y||"path"!==f||e.value!==c||(e.value="");var z=e.value!==c,A=p(e,z),B=s(e,y,z,A);S(this,{id:a,type:d,location:f,array:y,squash:A,replace:B,isOptional:z,value:v,dynamic:c,config:e,toString:w})},k.prototype={$$new:function(){return d(this,S(new k,{$$parent:this}))},$$keys:function(){for(var a=[],b=[],c=this,d=g(k.prototype);c;)b.push(c),c=c.$$parent;return b.reverse(),R(b,function(b){R(g(b),function(b){h(a,b)===-1&&h(d,b)===-1&&a.push(b)})}),a},$$values:function(a){var b={},c=this;return R(c.$$keys(),function(d){b[d]=c[d].value(a&&a[d])}),b},$$equals:function(a,b){var c=!0,d=this;return R(d.$$keys(),function(e){var f=a&&a[e],g=b&&b[e];d[e].type.equals(f,g)||(c=!1)}),c},$$validates:function(a){var d,e,f,g,h,i=this.$$keys();for(d=0;d=0)throw new Error("State must have a valid name");if(A.hasOwnProperty(c))throw new Error("State '"+c+"' is already defined");var e=c.indexOf(".")!==-1?c.substring(0,c.lastIndexOf(".")):O(b.parent)?b.parent:P(b.parent)&&O(b.parent.name)?b.parent.name:"";if(e&&!A[e])return n(e,b.self);for(var f in D)N(D[f])&&(b[f]=D[f](b,D.$delegates[f]));return A[c]=b,!b[C]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){z.$current.navigable==b&&j(a,c)||z.transitionTo(b,a,{inherit:!0,location:!1})}]),q(c),b}function s(a){return a.indexOf("*")>-1}function t(a){for(var b=a.split("."),c=z.$current.name.split("."),d=0,e=b.length;d=A;d--)g=o[d],g.self.onExit&&h.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=A;d2?k.enter(a,null,c).then(d):k.enter(a,null,c,d)},leave:function(a,c){b.version.minor>2?k.leave(a).then(c):k.leave(a,c)}};if(j){var e=j&&j(c,a);return{enter:function(a,b,c){e.enter(a,null,b),c()},leave:function(a,b){e.leave(a),b()}}}return d()}var i=g(),j=i("$animator"),k=i("$animate"),l={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(c,g,i){return function(c,g,j){function k(){if(m&&(m.remove(),m=null),o&&(o.$destroy(),o=null),n){var a=n.data("$uiViewAnim");s.leave(n,function(){a.$$animLeave.resolve(),m=null}),m=n,n=null}}function l(h){var l,m=B(c,j,g,e),t=m&&a.$current&&a.$current.locals[m];if(h||t!==p){l=c.$new(),p=a.$current.locals[m],l.$emit("$viewContentLoading",m);var u=i(l,function(a){var e=f.defer(),h=f.defer(),i={$animEnter:e.promise,$animLeave:h.promise,$$animLeave:h};a.data("$uiViewAnim",i),s.enter(a,g,function(){e.resolve(),o&&o.$emit("$viewContentAnimationEnded"),(b.isDefined(r)&&!r||c.$eval(r))&&d(a)}),k()});n=u,o=l,o.$emit("$viewContentLoaded",m),o.$eval(q)}}var m,n,o,p,q=j.onload||"",r=j.autoscroll,s=h(j,c);g.inheritedData("$uiView");c.$on("$stateChangeSuccess",function(){l(!1)}),l(!0)}}};return l}function A(a,c,d,e){return{restrict:"ECA",priority:-400,compile:function(f){var g=f.html();return function(f,h,i){var j=d.$current,k=B(f,i,h,e),l=j&&j.locals[k];if(l){h.data("$uiView",{name:k,state:l.$$state}),h.html(l.$template?l.$template:g);var m=b.extend({},l);f[l.$$resolveAs]=m;var n=a(h.contents());if(l.$$controller){l.$scope=f,l.$element=h;var o=c(l.$$controller,l);l.$$controllerAs&&(f[l.$$controllerAs]=o,f[l.$$controllerAs][l.$$resolveAs]=m),N(o.$onInit)&&o.$onInit(),h.data("$ngControllerController",o),h.children().data("$ngControllerController",o)}n(f)}}}}}function B(a,b,c,d){var e=d(b.uiView||b.name||"")(a),f=c.inheritedData("$uiView");return e.indexOf("@")>=0?e:e+"@"+(f?f.state.name:"")}function C(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function D(a){var b=a.parent().inheritedData("$uiView");if(b&&b.state&&b.state.name)return b.state}function E(a){var b="[object SVGAnimatedString]"===Object.prototype.toString.call(a.prop("href")),c="FORM"===a[0].nodeName;return{attr:c?"action":b?"xlink:href":"href",isAnchor:"A"===a.prop("tagName").toUpperCase(),clickable:!c}}function F(a,b,c,d,e){return function(f){var g=f.which||f.button,h=e();if(!(g>1||f.ctrlKey||f.metaKey||f.shiftKey||a.attr("target"))){var i=c(function(){b.go(h.state,h.params,h.options)});f.preventDefault();var j=d.isAnchor&&!h.href?1:0;f.preventDefault=function(){j--<=0&&c.cancel(i)}}}}function G(a,b){return{relative:D(a)||b.$current,inherit:!0}}function H(a,c){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(d,e,f,g){var h,i=C(f.uiSref,a.current.name),j={state:i.state,href:null,params:null},k=E(e),l=g[1]||g[0],m=null;j.options=S(G(e,a),f.uiSrefOpts?d.$eval(f.uiSrefOpts):{});var n=function(c){c&&(j.params=b.copy(c)),j.href=a.href(i.state,j.params,j.options),m&&m(),l&&(m=l.$$addStateInfo(i.state,j.params)),null!==j.href&&f.$set(k.attr,j.href)};i.paramExpr&&(d.$watch(i.paramExpr,function(a){a!==j.params&&n(a)},!0),j.params=b.copy(d.$eval(i.paramExpr))),n(),k.clickable&&(h=F(e,a,c,k,function(){return j}),e[e.on?"on":"bind"]("click",h),d.$on("$destroy",function(){e[e.off?"off":"unbind"]("click",h)}))}}}function I(a,b){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(c,d,e,f){function g(b){m.state=b[0],m.params=b[1],m.options=b[2],m.href=a.href(m.state,m.params,m.options),n&&n(),j&&(n=j.$$addStateInfo(m.state,m.params)),m.href&&e.$set(i.attr,m.href)}var h,i=E(d),j=f[1]||f[0],k=[e.uiState,e.uiStateParams||null,e.uiStateOpts||null],l="["+k.map(function(a){return a||"null"}).join(", ")+"]",m={state:null,params:null,options:null,href:null},n=null;c.$watch(l,g,!0),g(c.$eval(l)),i.clickable&&(h=F(d,a,b,i,function(){return m}),d[d.on?"on":"bind"]("click",h),c.$on("$destroy",function(){d[d.off?"off":"unbind"]("click",h)}))}}}function J(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs","$timeout",function(b,d,e,f){function g(b,c,e){var f=a.get(b,D(d)),g=h(b,c),i={state:f||{name:b},params:c,hash:g};return p.push(i),q[g]=e,function(){var a=p.indexOf(i);a!==-1&&p.splice(a,1)}}function h(a,c){if(!O(a))throw new Error("state should be a string");return P(c)?a+U(c):(c=b.$eval(c),P(c)?a+U(c):a)}function i(){for(var a=0;a0)){var c=g(a,b,o);return i(),c}},b.$on("$stateChangeSuccess",i),i()}]}}function K(a){var b=function(b,c){return a.is(b,c)};return b.$stateful=!0,b}function L(a){var b=function(b,c,d){return a.includes(b,c,d)};return b.$stateful=!0,b}var M=b.isDefined,N=b.isFunction,O=b.isString,P=b.isObject,Q=b.isArray,R=b.forEach,S=b.extend,T=b.copy,U=b.toJson;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),q.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",q),r.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",r);var V;s.prototype.concat=function(a,b){var c={caseInsensitive:V.caseInsensitive(),strict:V.strictMode(),squash:V.defaultSquashPolicy()};return new s(this.sourcePath+a+this.sourceSearch,S(c,b),this)},s.prototype.toString=function(){return this.source},s.prototype.exec=function(a,b){function c(a){function b(a){return a.split("").reverse().join("")}function c(a){return a.replace(/\\-/g,"-")}var d=b(a).split(/-(?!\\)/),e=o(d,b);return o(e,c).reverse()}var d=this.regexp.exec(a);if(!d)return null;b=b||{};var e,f,g,h=this.parameters(),i=h.length,j=this.segments.length-1,k={};if(j!==d.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");var l,m;for(e=0;e
*/
"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(a,b,c){"use strict";function d(a,b){return S(new(S(function(){},{prototype:a})),b)}function e(a){return R(arguments,function(b){b!==a&&R(b,function(b,c){a.hasOwnProperty(c)||(a[c]=b)})}),a}function f(a,b){var c=[];for(var d in a.path){if(a.path[d]!==b.path[d])break;c.push(a.path[d])}return c}function g(a){if(Object.keys)return Object.keys(a);var b=[];return R(a,function(a,c){b.push(c)}),b}function h(a,b){if(Array.prototype.indexOf)return a.indexOf(b,Number(arguments[2])||0);var c=a.length>>>0,d=Number(arguments[2])||0;for(d=d<0?Math.ceil(d):Math.floor(d),d<0&&(d+=c);d=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return S({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e "));if(s[c]=d,O(a))q.push(c,[function(){return b.get(a)}],j);else{var e=b.annotate(a);R(e,function(a){a!==c&&i.hasOwnProperty(a)&&n(i[a],a)}),q.push(c,a,e)}r.pop(),s[c]=f}}function o(a){return P(a)&&a.then&&a.$$promises}if(!P(i))throw new Error("'invocables' must be an object");var p=g(i||{}),q=[],r=[],s={};return R(i,n),i=r=s=null,function(d,f,g){function h(){--u||(v||e(t,f.$$values),r.$$values=t,r.$$promises=r.$$promises||!0,delete r.$$inheritedValues,n.resolve(t))}function i(a){r.$$failure=a,n.reject(a)}function j(c,e,f){function j(a){l.reject(a),i(a)}function k(){if(!M(r.$$failure))try{l.resolve(b.invoke(e,g,t)),l.promise.then(function(a){t[c]=a,h()},j)}catch(a){j(a)}}var l=a.defer(),m=0;R(f,function(a){s.hasOwnProperty(a)&&!d.hasOwnProperty(a)&&(m++,s[a].then(function(b){t[a]=b,--m||k()},j))}),m||k(),s[c]=l.promise}if(o(d)&&g===c&&(g=f,f=d,d=null),d){if(!P(d))throw new Error("'locals' must be an object")}else d=k;if(f){if(!o(f))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else f=l;var n=a.defer(),r=n.promise,s=r.$$promises={},t=S({},d),u=1+q.length/3,v=!1;if(M(f.$$failure))return i(f.$$failure),r;f.$$inheritedValues&&e(t,m(f.$$inheritedValues,p)),S(s,f.$$promises),f.$$values?(v=e(t,m(f.$$values,p)),r.$$inheritedValues=m(f.$$values,p),h()):(f.$$inheritedValues&&(r.$$inheritedValues=m(f.$$inheritedValues,p)),f.then(h,i));for(var w=0,x=q.length;w=0));)s=f(r.id,r.type,r.cfg,"path"),l+=g(r.segment,s.type.pattern.source,s.squash,s.isOptional),n.push(r.segment),m=j.lastIndex;t=a.substring(m);var u=t.indexOf("?");if(u>=0){var v=this.sourceSearch=t.substring(u);if(t=t.substring(0,u),this.sourcePath=a.substring(0,m+u),v.length>0)for(m=0;i=k.exec(v);)r=h(i,!0),s=f(r.id,r.type,r.cfg,"search"),m=j.lastIndex}else this.sourcePath=a,this.sourceSearch="";l+=g(t)+(b.strict===!1?"/?":"")+"$",n.push(t),this.regexp=new RegExp(l,b.caseInsensitive?"i":c),this.prefix=n[0],this.$$paramNames=q}function t(a){S(this,a)}function u(){function a(a){return null!=a?a.toString().replace(/(~|\/)/g,function(a){return{"~":"~~","/":"~2F"}[a]}):a}function e(a){return null!=a?a.toString().replace(/(~~|~2F)/g,function(a){return{"~~":"~","~2F":"/"}[a]}):a}function f(){return{strict:p,caseInsensitive:m}}function i(a){return N(a)||Q(a)&&N(a[a.length-1])}function j(){for(;w.length;){var a=w.shift();if(a.pattern)throw new Error("You cannot override a type's .pattern at runtime.");b.extend(r[a.name],l.invoke(a.def))}}function k(a){S(this,a||{})}V=this;var l,m=!1,p=!0,q=!1,r={},v=!0,w=[],x={string:{encode:a,decode:e,is:function(a){return null==a||!M(a)||"string"==typeof a},pattern:/[^\/]*/},int:{encode:a,decode:function(a){return parseInt(a,10)},is:function(a){return M(a)&&this.decode(a.toString())===a},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0!==parseInt(a,10)},is:function(a){return a===!0||a===!1},pattern:/0|1/},date:{encode:function(a){return this.is(a)?[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-"):c},decode:function(a){if(this.is(a))return a;var b=this.capture.exec(a);return b?new Date(b[1],b[2]-1,b[3]):c},is:function(a){return a instanceof Date&&!isNaN(a.valueOf())},equals:function(a,b){return this.is(a)&&this.is(b)&&a.toISOString()===b.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:b.toJson,decode:b.fromJson,is:b.isObject,equals:b.equals,pattern:/[^\/]*/},any:{encode:b.identity,decode:b.identity,equals:b.equals,pattern:/.*/}};u.$$getDefaultValue=function(a){if(!i(a.value))return a.value;if(!l)throw new Error("Injectable functions cannot be called at configuration time");return l.invoke(a.value)},this.caseInsensitive=function(a){return M(a)&&(m=a),m},this.strictMode=function(a){return M(a)&&(p=a),p},this.defaultSquashPolicy=function(a){if(!M(a))return q;if(a!==!0&&a!==!1&&!O(a))throw new Error("Invalid squash policy: "+a+". Valid policies: false, true, arbitrary-string");return q=a,a},this.compile=function(a,b){return new s(a,S(f(),b))},this.isMatcher=function(a){if(!P(a))return!1;var b=!0;return R(s.prototype,function(c,d){N(c)&&(b=b&&M(a[d])&&N(a[d]))}),b},this.type=function(a,b,c){if(!M(b))return r[a];if(r.hasOwnProperty(a))throw new Error("A type named '"+a+"' has already been defined.");return r[a]=new t(S({name:a},b)),c&&(w.push({name:a,def:c}),v||j()),this},R(x,function(a,b){r[b]=new t(S({name:b},a))}),r=d(r,{}),this.$get=["$injector",function(a){return l=a,v=!1,j(),R(x,function(a,b){r[b]||(r[b]=new t(a))}),this}],this.Param=function(a,d,e,f){function j(a){var b=P(a)?g(a):[],c=h(b,"value")===-1&&h(b,"type")===-1&&h(b,"squash")===-1&&h(b,"array")===-1;return c&&(a={value:a}),a.$$fn=i(a.value)?a.value:function(){return a.value},a}function k(c,d,e){if(c.type&&d)throw new Error("Param '"+a+"' has two type configurations.");return d?d:c.type?b.isString(c.type)?r[c.type]:c.type instanceof t?c.type:new t(c.type):"config"===e?r.any:r.string}function m(){var b={array:"search"===f&&"auto"},c=a.match(/\[\]$/)?{array:!0}:{};return S(b,c,e).array}function p(a,b){var c=a.squash;if(!b||c===!1)return!1;if(!M(c)||null==c)return q;if(c===!0||O(c))return c;throw new Error("Invalid squash policy: '"+c+"'. Valid policies: false, true, or arbitrary string")}function s(a,b,d,e){var f,g,i=[{from:"",to:d||b?c:""},{from:null,to:d||b?c:""}];return f=Q(a.replace)?a.replace:[],O(e)&&f.push({from:e,to:c}),g=o(f,function(a){return a.from}),n(i,function(a){return h(g,a.from)===-1}).concat(f)}function u(){if(!l)throw new Error("Injectable functions cannot be called at configuration time");var a=l.invoke(e.$$fn);if(null!==a&&a!==c&&!x.type.is(a))throw new Error("Default value ("+a+") for parameter '"+x.id+"' is not an instance of Type ("+x.type.name+")");return a}function v(a){function b(a){return function(b){return b.from===a}}function c(a){var c=o(n(x.replace,b(a)),function(a){return a.to});return c.length?c[0]:a}return a=c(a),M(a)?x.type.$normalize(a):u()}function w(){return"{Param:"+a+" "+d+" squash: '"+A+"' optional: "+z+"}"}var x=this;e=j(e),d=k(e,d,f);var y=m();d=y?d.$asArray(y,"search"===f):d,"string"!==d.name||y||"path"!==f||e.value!==c||(e.value="");var z=e.value!==c,A=p(e,z),B=s(e,y,z,A);S(this,{id:a,type:d,location:f,array:y,squash:A,replace:B,isOptional:z,value:v,dynamic:c,config:e,toString:w})},k.prototype={$$new:function(){return d(this,S(new k,{$$parent:this}))},$$keys:function(){for(var a=[],b=[],c=this,d=g(k.prototype);c;)b.push(c),c=c.$$parent;return b.reverse(),R(b,function(b){R(g(b),function(b){h(a,b)===-1&&h(d,b)===-1&&a.push(b)})}),a},$$values:function(a){var b={},c=this;return R(c.$$keys(),function(d){b[d]=c[d].value(a&&a[d])}),b},$$equals:function(a,b){var c=!0,d=this;return R(d.$$keys(),function(e){var f=a&&a[e],g=b&&b[e];d[e].type.equals(f,g)||(c=!1)}),c},$$validates:function(a){var d,e,f,g,h,i=this.$$keys();for(d=0;d=0)throw new Error("State must have a valid name");if(A.hasOwnProperty(c))throw new Error("State '"+c+"' is already defined");var e=c.indexOf(".")!==-1?c.substring(0,c.lastIndexOf(".")):O(b.parent)?b.parent:P(b.parent)&&O(b.parent.name)?b.parent.name:"";if(e&&!A[e])return n(e,b.self);for(var f in D)N(D[f])&&(b[f]=D[f](b,D.$delegates[f]));return A[c]=b,!b[C]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){z.$current.navigable==b&&j(a,c)||z.transitionTo(b,a,{inherit:!0,location:!1})}]),q(c),b}function s(a){return a.indexOf("*")>-1}function t(a){for(var b=a.split("."),c=z.$current.name.split("."),d=0,e=b.length;d=A;d--)g=o[d],g.self.onExit&&h.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=A;d2?k.enter(a,null,c).then(d):k.enter(a,null,c,d)},leave:function(a,c){b.version.minor>2?k.leave(a).then(c):k.leave(a,c)}};if(j){var e=j&&j(c,a);return{enter:function(a,b,c){e.enter(a,null,b),c()},leave:function(a,b){e.leave(a),b()}}}return d()}var i=g(),j=i("$animator"),k=i("$animate"),l={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(c,g,i){return function(c,g,j){function k(){if(m&&(m.remove(),m=null),o&&(o.$destroy(),o=null),n){var a=n.data("$uiViewAnim");s.leave(n,function(){a.$$animLeave.resolve(),m=null}),m=n,n=null}}function l(h){var l,m=B(c,j,g,e),t=m&&a.$current&&a.$current.locals[m];if(h||t!==p){l=c.$new(),p=a.$current.locals[m],l.$emit("$viewContentLoading",m);var u=i(l,function(a){var e=f.defer(),h=f.defer(),i={$animEnter:e.promise,$animLeave:h.promise,$$animLeave:h};a.data("$uiViewAnim",i),s.enter(a,g,function(){e.resolve(),o&&o.$emit("$viewContentAnimationEnded"),(b.isDefined(r)&&!r||c.$eval(r))&&d(a)}),k()});n=u,o=l,o.$emit("$viewContentLoaded",m),o.$eval(q)}}var m,n,o,p,q=j.onload||"",r=j.autoscroll,s=h(j,c);g.inheritedData("$uiView");c.$on("$stateChangeSuccess",function(){l(!1)}),l(!0)}}};return l}function A(a,c,d,e){return{restrict:"ECA",priority:-400,compile:function(f){var g=f.html();return function(f,h,i){var j=d.$current,k=B(f,i,h,e),l=j&&j.locals[k];if(l){h.data("$uiView",{name:k,state:l.$$state}),h.html(l.$template?l.$template:g);var m=b.extend({},l);f[l.$$resolveAs]=m;var n=a(h.contents());if(l.$$controller){l.$scope=f,l.$element=h;var o=c(l.$$controller,l);l.$$controllerAs&&(f[l.$$controllerAs]=o,f[l.$$controllerAs][l.$$resolveAs]=m),N(o.$onInit)&&o.$onInit(),h.data("$ngControllerController",o),h.children().data("$ngControllerController",o)}n(f)}}}}}function B(a,b,c,d){var e=d(b.uiView||b.name||"")(a),f=c.inheritedData("$uiView");return e.indexOf("@")>=0?e:e+"@"+(f?f.state.name:"")}function C(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function D(a){var b=a.parent().inheritedData("$uiView");if(b&&b.state&&b.state.name)return b.state}function E(a){var b="[object SVGAnimatedString]"===Object.prototype.toString.call(a.prop("href")),c="FORM"===a[0].nodeName;return{attr:c?"action":b?"xlink:href":"href",isAnchor:"A"===a.prop("tagName").toUpperCase(),clickable:!c}}function F(a,b,c,d,e){return function(f){var g=f.which||f.button,h=e();if(!(g>1||f.ctrlKey||f.metaKey||f.shiftKey||a.attr("target"))){var i=c(function(){b.go(h.state,h.params,h.options)});f.preventDefault();var j=d.isAnchor&&!h.href?1:0;f.preventDefault=function(){j--<=0&&c.cancel(i)}}}}function G(a,b){return{relative:D(a)||b.$current,inherit:!0}}function H(a,c){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(d,e,f,g){var h,i=C(f.uiSref,a.current.name),j={state:i.state,href:null,params:null},k=E(e),l=g[1]||g[0],m=null;j.options=S(G(e,a),f.uiSrefOpts?d.$eval(f.uiSrefOpts):{});var n=function(c){c&&(j.params=b.copy(c)),j.href=a.href(i.state,j.params,j.options),m&&m(),l&&(m=l.$$addStateInfo(i.state,j.params)),null!==j.href&&f.$set(k.attr,j.href)};i.paramExpr&&(d.$watch(i.paramExpr,function(a){a!==j.params&&n(a)},!0),j.params=b.copy(d.$eval(i.paramExpr))),n(),k.clickable&&(h=F(e,a,c,k,function(){return j}),e[e.on?"on":"bind"]("click",h),d.$on("$destroy",function(){e[e.off?"off":"unbind"]("click",h)}))}}}function I(a,b){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(c,d,e,f){function g(b){m.state=b[0],m.params=b[1],m.options=b[2],m.href=a.href(m.state,m.params,m.options),n&&n(),j&&(n=j.$$addStateInfo(m.state,m.params)),m.href&&e.$set(i.attr,m.href)}var h,i=E(d),j=f[1]||f[0],k=[e.uiState,e.uiStateParams||null,e.uiStateOpts||null],l="["+k.map(function(a){return a||"null"}).join(", ")+"]",m={state:null,params:null,options:null,href:null},n=null;c.$watch(l,g,!0),g(c.$eval(l)),i.clickable&&(h=F(d,a,b,i,function(){return m}),d[d.on?"on":"bind"]("click",h),c.$on("$destroy",function(){d[d.off?"off":"unbind"]("click",h)}))}}}function J(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs","$timeout",function(b,d,e,f){function g(b,c,e){var f=a.get(b,D(d)),g=h(b,c),i={state:f||{name:b},params:c,hash:g};return p.push(i),q[g]=e,function(){var a=p.indexOf(i);a!==-1&&p.splice(a,1)}}function h(a,c){if(!O(a))throw new Error("state should be a string");return P(c)?a+U(c):(c=b.$eval(c),P(c)?a+U(c):a)}function i(){for(var a=0;a0)){var c=g(a,b,o);return i(),c}},b.$on("$stateChangeSuccess",i),i()}]}}function K(a){var b=function(b,c){return a.is(b,c)};return b.$stateful=!0,b}function L(a){var b=function(b,c,d){return a.includes(b,c,d)};return b.$stateful=!0,b}var M=b.isDefined,N=b.isFunction,O=b.isString,P=b.isObject,Q=b.isArray,R=b.forEach,S=b.extend,T=b.copy,U=b.toJson;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),q.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",q),r.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",r);var V;s.prototype.concat=function(a,b){var c={caseInsensitive:V.caseInsensitive(),strict:V.strictMode(),squash:V.defaultSquashPolicy()};return new s(this.sourcePath+a+this.sourceSearch,S(c,b),this)},s.prototype.toString=function(){return this.source},s.prototype.exec=function(a,b){function c(a){function b(a){return a.split("").reverse().join("")}function c(a){return a.replace(/\\-/g,"-")}var d=b(a).split(/-(?!\\)/),e=o(d,b);return o(e,c).reverse()}var d=this.regexp.exec(a);if(!d)return null;b=b||{};var e,f,g,h=this.parameters(),i=h.length,j=this.segments.length-1,k={};if(j!==d.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");var l,m;for(e=0;e
// scale the rotation part
matrix.copy( this );
return qm.copy( qa ).slerp( qb, t );
if ( t === 0 ) return this;
if ( t === 1 ) return this.copy( qb );
this.copy( qb );
return this.copy( vector ).multiplyScalar( scalar );
v1.copy( this ).projectOnVector( planeNormal );
return this.sub( v1.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) );
return new this.constructor().copy( this );
this.offset.copy( source.offset );
this.repeat.copy( source.repeat );
this.offset.copy( source.offset );
this.repeat.copy( source.repeat );
this.center.copy( source.center );
this.repeat.copy( source.repeat );
this.center.copy( source.center );
this.rotation = source.rotation;
this.matrixAutoUpdate = source.matrixAutoUpdate;
this.matrix.copy( source.matrix );
return new this.constructor().copy( this );
this.viewport.copy( source.viewport );
this.min.copy( min );
this.max.copy( max );
this.min.copy( min );
this.max.copy( max );
var halfSize = v1.copy( size ).multiplyScalar( 0.5 );
this.min.copy( center ).sub( halfSize );
this.max.copy( center ).add( halfSize );
this.min.copy( center ).sub( halfSize );
this.max.copy( center ).add( halfSize );
return new this.constructor().copy( this );
this.min.copy( box.min );
this.max.copy( box.max );
this.min.copy( box.min );
this.max.copy( box.max );
v1.copy( vertices[ i ] );
v1.applyMatrix4( node.matrixWorld );
return target.copy( point ).clamp( this.min, this.max );
var clampedPoint = v1.copy( point ).clamp( this.min, this.max );
return clampedPoint.sub( point ).length();
this.center.copy( center );
this.radius = radius;
center.copy( optionalCenter );
return new this.constructor().copy( this );
this.center.copy( sphere.center );
this.radius = sphere.radius;
target.copy( point );
this.normal.copy( normal );
this.constant = constant;
this.normal.copy( normal );
this.constant = - point.dot( this.normal );
return new this.constructor().copy( this );
this.normal.copy( plane.normal );
this.constant = plane.constant;
return target.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point );
return target.copy( line.start );
return target.copy( direction ).multiplyScalar( t ).add( line.start );
return target.copy( this.normal ).multiplyScalar( - this.constant );
planes[ 0 ].copy( p0 );
planes[ 1 ].copy( p1 );
planes[ 0 ].copy( p0 );
planes[ 1 ].copy( p1 );
planes[ 2 ].copy( p2 );
planes[ 1 ].copy( p1 );
planes[ 2 ].copy( p2 );
planes[ 3 ].copy( p3 );
planes[ 2 ].copy( p2 );
planes[ 3 ].copy( p3 );
planes[ 4 ].copy( p4 );
planes[ 3 ].copy( p3 );
planes[ 4 ].copy( p4 );
planes[ 5 ].copy( p5 );
planes[ 4 ].copy( p4 );
planes[ 5 ].copy( p5 );
return new this.constructor().copy( this );
planes[ i ].copy( frustum.planes[ i ] );
sphere.copy( geometry.boundingSphere )
.applyMatrix4( object.matrixWorld );
this.copy( value );
this.quaternion.copy( q );
v1.copy( axis ).applyQuaternion( this.quaternion );
vector.copy( x );
this.matrixWorld.copy( this.matrix );
return new this.constructor().copy( this, recursive );
this.up.copy( source.up );
this.position.copy( source.position );
this.quaternion.copy( source.quaternion );
this.position.copy( source.position );
this.quaternion.copy( source.quaternion );
this.scale.copy( source.scale );
this.quaternion.copy( source.quaternion );
this.scale.copy( source.scale );
this.matrix.copy( source.matrix );
this.matrixWorld.copy( source.matrixWorld );
this.matrix.copy( source.matrix );
this.matrixWorld.copy( source.matrixWorld );
this.matrixWorldInverse.copy( source.matrixWorldInverse );
this.projectionMatrix.copy( source.projectionMatrix );
this.matrixWorldInverse.copy( source.matrixWorldInverse );
this.projectionMatrix.copy( source.projectionMatrix );
return new this.constructor().copy( this );
return new this.constructor().copy( this );
this.normal.copy( source.normal );
this.color.copy( source.color );
this.normal.copy( source.normal );
this.color.copy( source.color );
face.normal.copy( cb );
vertexNormals[ 0 ].copy( vertices[ face.a ] );
vertexNormals[ 1 ].copy( vertices[ face.b ] );
vertexNormals[ 0 ].copy( vertices[ face.a ] );
vertexNormals[ 1 ].copy( vertices[ face.b ] );
vertexNormals[ 2 ].copy( vertices[ face.c ] );
vertexNormals[ 1 ].copy( vertices[ face.b ] );
vertexNormals[ 2 ].copy( vertices[ face.c ] );
vertexNormals[ 0 ].copy( face.normal );
vertexNormals[ 1 ].copy( face.normal );
vertexNormals[ 0 ].copy( face.normal );
vertexNormals[ 1 ].copy( face.normal );
vertexNormals[ 2 ].copy( face.normal );
vertexNormals[ 1 ].copy( face.normal );
vertexNormals[ 2 ].copy( face.normal );
// - create temp variables on first access
// otherwise just copy (for faster repeated calls)
face.__originalFaceNormal.copy( face.normal );
face.__originalVertexNormals[ i ].copy( face.vertexNormals[ i ] );
faceNormal.copy( face.normal );
vertexNormals.a.copy( face.vertexNormals[ 0 ] );
vertexNormals.b.copy( face.vertexNormals[ 1 ] );
vertexNormals.a.copy( face.vertexNormals[ 0 ] );
vertexNormals.b.copy( face.vertexNormals[ 1 ] );
vertexNormals.c.copy( face.vertexNormals[ 2 ] );
vertexNormals.b.copy( face.vertexNormals[ 1 ] );
vertexNormals.c.copy( face.vertexNormals[ 2 ] );
faceCopy = new Face3( face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset );
faceCopy.normal.copy( face.normal );
faceCopy.color.copy( face.color );
return new this.constructor().copy( this );
*/
return new Geometry().copy( this );
return new this.constructor( this.array, this.itemSize ).copy( this );
return new this.constructor().copy( this );
*/
return new BufferGeometry().copy( this );
currentValue.copy( newValue );
return new this.constructor().copy( this );
this.color.copy( source.color );
this.origin.copy( origin );
this.direction.copy( direction );
this.origin.copy( origin );
this.direction.copy( direction );
return new this.constructor().copy( this );
this.origin.copy( ray.origin );
this.direction.copy( ray.direction );
this.origin.copy( ray.origin );
this.direction.copy( ray.direction );
return target.copy( this.direction ).multiplyScalar( t ).add( this.origin );
this.direction.copy( v ).sub( this.origin ).normalize();
this.origin.copy( this.at( t, v1 ) );
return target.copy( this.origin );
return target.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );
v1.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );
segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 );
segDir.copy( v1 ).sub( v0 ).normalize();
segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 );
segDir.copy( v1 ).sub( v0 ).normalize();
diff.copy( this.origin ).sub( segCenter );
segDir.copy( v1 ).sub( v0 ).normalize();
diff.copy( this.origin ).sub( segCenter );
optionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin );
optionalPointOnSegment.copy( segDir ).multiplyScalar( s1 ).add( segCenter );
this.start.copy( start );
this.end.copy( end );
this.start.copy( start );
this.end.copy( end );
return new this.constructor().copy( this );
this.start.copy( line.start );
this.end.copy( line.end );
this.start.copy( line.start );
this.end.copy( line.end );
this.a.copy( a );
this.b.copy( b );
this.a.copy( a );
this.b.copy( b );
this.c.copy( c );
this.b.copy( b );
this.c.copy( c );
this.a.copy( points[ i0 ] );
this.b.copy( points[ i1 ] );
this.a.copy( points[ i0 ] );
this.b.copy( points[ i1 ] );
this.c.copy( points[ i2 ] );
this.b.copy( points[ i1 ] );
this.c.copy( points[ i2 ] );
return new this.constructor().copy( this );
this.a.copy( triangle.a );
this.b.copy( triangle.b );
this.a.copy( triangle.a );
this.b.copy( triangle.b );
this.c.copy( triangle.c );
this.b.copy( triangle.b );
this.c.copy( triangle.c );
target.copy( projectedPoint );
target.copy( closestPoint );
intersectionPointWorld.copy( point );
intersectionPointWorld.applyMatrix4( object.matrixWorld );
sphere.copy( geometry.boundingSphere );
sphere.applyMatrix4( matrixWorld );
inverseMatrix.getInverse( matrixWorld );
ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix );
var uvs_f = uvs[ f ];
uvA.copy( uvs_f[ 0 ] );
uvB.copy( uvs_f[ 1 ] );
uvA.copy( uvs_f[ 0 ] );
uvB.copy( uvs_f[ 1 ] );
uvC.copy( uvs_f[ 2 ] );
uvB.copy( uvs_f[ 1 ] );
uvC.copy( uvs_f[ 2 ] );
return new this.constructor( this.geometry, this.material ).copy( this );
plane.copy( planes[ i ] ).applyMatrix4( viewMatrix, viewNormalMatrix );
uniforms.color.copy( light.color ).multiplyScalar( light.intensity );
uniforms.direction.setFromMatrixPosition( light.matrixWorld );
uniforms.color.copy( color ).multiplyScalar( intensity );
uniforms.distance = distance;
// (a) intensity is the total visible light emitted
//uniforms.color.copy( color ).multiplyScalar( intensity / ( light.width * light.height * Math.PI ) );
// (b) intensity is the brightness of the light
uniforms.color.copy( color ).multiplyScalar( intensity );
matrix42.identity();
matrix4.copy( light.matrixWorld );
matrix4.premultiply( viewMatrix );
uniforms.color.copy( light.color ).multiplyScalar( light.intensity );
uniforms.distance = light.distance;
uniforms.skyColor.copy( light.color ).multiplyScalar( intensity );
uniforms.groundColor.copy( light.groundColor ).multiplyScalar( intensity );
uniforms.skyColor.copy( light.color ).multiplyScalar( intensity );
uniforms.groundColor.copy( light.groundColor ).multiplyScalar( intensity );
this.referencePosition.copy( source.referencePosition );
this.nearDistance = source.nearDistance;
_shadowMapSize.copy( shadow.mapSize );
_shadowMapSize.min( _maxShadowMapSize );
_lightPositionWorld.setFromMatrixPosition( light.matrixWorld );
shadowCamera.position.copy( _lightPositionWorld );
_lookTarget.copy( shadowCamera.position );
_lookTarget.add( cubeDirections[ face ] );
_lookTarget.add( cubeDirections[ face ] );
shadowCamera.up.copy( cubeUps[ face ] );
shadowCamera.lookAt( _lookTarget );
result.referencePosition.copy( lightPositionWorld );
result.nearDistance = shadowCameraNear;
gl.clearColor( r, g, b, a );
currentColorClear.copy( color );
gl.scissor( scissor.x, scissor.y, scissor.z, scissor.w );
currentScissor.copy( scissor );
gl.viewport( viewport.x, viewport.y, viewport.z, viewport.w );
currentViewport.copy( viewport );
// We want to manipulate poseObject by its position and quaternion components since users may rely on them.
poseObject.matrix.copy( standingMatrix );
poseObject.matrix.decompose( poseObject.position, poseObject.quaternion, poseObject.scale );
cameraVR.matrixWorld.copy( camera.matrixWorld );
cameraVR.matrixWorldInverse.copy( camera.matrixWorldInverse );
cameraVR.matrixWorld.copy( camera.matrixWorld );
cameraVR.matrixWorldInverse.copy( camera.matrixWorldInverse );
cameraVR.projectionMatrix.copy( cameraL.projectionMatrix );
camera.matrixWorld.copy( camera.matrix );
camera.matrixWorld.copy( cameraVR.matrixWorld );
cameraVR.matrix.copy( camera.matrix );
cameraVR.projectionMatrix.copy( camera.projectionMatrix );
state = new WebGLState( _gl, extensions, utils );
state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) );
state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) );
state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
_viewport.set( x, _height - y - height, width, height );
state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) );
_scissor.set( x, _height - y - height, width, height );
state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) );
_sphere.copy( geometry.boundingSphere ).
applyMatrix4( object.matrixWorld );
state.viewport( _currentViewport.copy( camera2.viewport ) );
uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity );
uniforms.uvTransform.value.copy( uvScaleMap.matrix );
uniforms.uvTransform.value.copy( material.map.matrix );
uniforms.normalMap.value = material.normalMap;
uniforms.normalScale.value.copy( material.normalScale );
if ( material.side === BackSide ) uniforms.normalScale.value.negate();
uniforms.normalMap.value = material.normalMap;
uniforms.normalScale.value.copy( material.normalScale );
if ( material.side === BackSide ) uniforms.normalScale.value.negate();
uniforms.referencePosition.value.copy( material.referencePosition );
uniforms.nearDistance.value = material.nearDistance;
uniforms.normalMap.value = material.normalMap;
uniforms.normalScale.value.copy( material.normalScale );
if ( material.side === BackSide ) uniforms.normalScale.value.negate();
_currentViewport.copy( renderTarget.viewport );
_currentScissor.copy( renderTarget.scissor );
_currentViewport.copy( renderTarget.viewport );
_currentScissor.copy( renderTarget.scissor );
_currentScissorTest = renderTarget.scissorTest;
_currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio );
_currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio );
_currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio );
_currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio );
_currentScissorTest = _scissorTest;
this.color.copy( source.color );
this.map = source.map;
rotatedPosition.copy( alignedPosition );
vertexPosition.copy( mvPosition );
vertexPosition.x += rotatedPosition.x;
return new this.constructor( this.material ).copy( this );
if ( source.center !== undefined ) this.center.copy( source.center );
bone.matrix.copy( bone.matrixWorld );
this.bindMatrix.copy( bindMatrix );
this.bindMatrixInverse.getInverse( bindMatrix );
return new this.constructor( this.geometry, this.material ).copy( this );
this.color.copy( source.color );
sphere.copy( geometry.boundingSphere );
sphere.applyMatrix4( matrixWorld );
inverseMatrix.getInverse( matrixWorld );
ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix );
return new this.constructor( this.geometry, this.material ).copy( this );
start.copy( vertices[ i ] );
end.copy( vertices[ i + 1 ] );
start.copy( vertices[ i ] );
end.copy( vertices[ i + 1 ] );
this.color.copy( source.color );
sphere.copy( geometry.boundingSphere );
sphere.applyMatrix4( matrixWorld );
inverseMatrix.getInverse( matrixWorld );
ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix );
return new this.constructor( this.geometry, this.material ).copy( this );
centroid.copy( a ).add( b ).add( c ).divideScalar( 3 );
normal.copy( splineTube.normals[ 0 ] ).multiplyScalar( vert.x );
binormal.copy( splineTube.binormals[ 0 ] ).multiplyScalar( vert.y );
normal.copy( splineTube.normals[ 0 ] ).multiplyScalar( vert.x );
binormal.copy( splineTube.binormals[ 0 ] ).multiplyScalar( vert.y );
position2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal );
normal.copy( splineTube.normals[ s ] ).multiplyScalar( vert.x );
binormal.copy( splineTube.binormals[ s ] ).multiplyScalar( vert.y );
normal.copy( splineTube.normals[ s ] ).multiplyScalar( vert.x );
binormal.copy( splineTube.binormals[ s ] ).multiplyScalar( vert.y );
position2.copy( extrudePts[ s ] ).add( normal ).add( binormal );
this.color.copy( source.color );
this.color.copy( source.color );
this.roughness = source.roughness;
this.emissive.copy( source.emissive );
this.emissiveMap = source.emissiveMap;
this.normalMapType = source.normalMapType;
this.normalScale.copy( source.normalScale );
this.color.copy( source.color );
this.specular.copy( source.specular );
this.color.copy( source.color );
this.specular.copy( source.specular );
this.shininess = source.shininess;
this.emissive.copy( source.emissive );
this.emissiveMap = source.emissiveMap;
this.normalMapType = source.normalMapType;
this.normalScale.copy( source.normalScale );
this.normalMapType = source.normalMapType;
this.normalScale.copy( source.normalScale );
this.color.copy( source.color );
this.emissive.copy( source.emissive );
this.emissiveMap = source.emissiveMap;
return new this.constructor().copy( this );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v3.copy( source.v3 );
this.v2.copy( source.v2 );
this.v3.copy( source.v3 );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v3.copy( source.v3 );
this.v2.copy( source.v2 );
this.v3.copy( source.v3 );
point.copy( this.v2 );
point.copy( this.v2 ).sub( this.v1 );
point.multiplyScalar( t ).add( this.v1 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
point.copy( this.v2 );
point.copy( this.v2 ).sub( this.v1 );
point.multiplyScalar( t ).add( this.v1 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v0.copy( source.v0 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.v1.copy( source.v1 );
this.v2.copy( source.v2 );
this.currentPoint.copy( pts[ pts.length - 1 ] );
var lastPoint = curve.getPoint( 1 );
this.currentPoint.copy( lastPoint );
this.currentPoint.copy( source.currentPoint );
this.color.copy( source.color );
this.intensity = source.intensity;
this.position.copy( Object3D.DefaultUp );
this.updateMatrix();
this.groundColor.copy( source.groundColor );
this.mapSize.copy( source.mapSize );
return new this.constructor().copy( this );
this.position.copy( Object3D.DefaultUp );
this.updateMatrix();
this.position.copy( Object3D.DefaultUp );
this.updateMatrix();
faceB.normal.copy( faceA.normal );
this.cameraL.projectionMatrix.copy( projectionMatrix );
this.cameraR.projectionMatrix.copy( projectionMatrix );
this.cameraL.matrixWorld.copy( camera.matrixWorld ).multiply( eyeLeft );
this.cameraR.matrixWorld.copy( camera.matrixWorld ).multiply( eyeRight );
this.cameraL.matrixWorld.copy( camera.matrixWorld ).multiply( eyeLeft );
this.cameraR.matrixWorld.copy( camera.matrixWorld ).multiply( eyeRight );
return new this.constructor().copy( this );
return new this.constructor().copy( this );
return new this.constructor().copy( this );
return new this.constructor().copy( this );
this.min.copy( min );
this.max.copy( max );
this.min.copy( min );
this.max.copy( max );
var halfSize = v1.copy( size ).multiplyScalar( 0.5 );
this.min.copy( center ).sub( halfSize );
var halfSize = v1.copy( size ).multiplyScalar( 0.5 );
this.min.copy( center ).sub( halfSize );
this.max.copy( center ).add( halfSize );
this.min.copy( center ).sub( halfSize );
this.max.copy( center ).add( halfSize );
return new this.constructor().copy( this );
this.min.copy( box.min );
this.max.copy( box.max );
this.min.copy( box.min );
this.max.copy( box.max );
return target.copy( point ).clamp( this.min, this.max );
var clampedPoint = v1.copy( point ).clamp( this.min, this.max );
return clampedPoint.sub( point ).length();
v1.copy( vertex ).applyMatrix4( matrixWorld );
v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 );
this.cone.material.color.copy( this.light.color );
this.material.color.copy( this.light.color );
this.line.material.color.copy( this.light.color );
color1.copy( this.light.color );
color2.copy( this.light.groundColor );
color1.copy( this.light.color );
color2.copy( this.light.groundColor );
v1.copy( vertices[ face.a ] )
.add( vertices[ face.b ] )
v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 );
this.lightPlane.material.color.copy( this.light.color );
this.targetLine.material.color.copy( this.light.color );
this.lightPlane.material.color.copy( this.light.color );
this.targetLine.material.color.copy( this.light.color );
camera.projectionMatrix.copy( this.camera.projectionMatrix );
this.position.copy( origin );
this.line.material.color.copy( color );
this.cone.material.color.copy( color );
this.line.material.color.copy( color );
this.cone.material.color.copy( color );
function LuaVec3:copy()
return newLuaVec3xyz(self.x, self.y, self.z)
function StackVec3:copy()
stacki = stacki - 1
function LuaQuat:copy()
return newLuaQuatxyzw(self.x, self.y, self.z, self.w)
if node.name then
ffi.copy(inputTextValue, node.name)
end
else
-- M.copy(dpop, dmesh[meshID].data, dmesh[meshID].buf, 's_magenta')
-- M.copy(dpopsel, dmesh[meshID].sel, dmesh[meshID].buf, 's_magenta')
-- M.copy(dpop, dmesh[meshID].data, dmesh[meshID].buf, 's_magenta')
-- M.copy(dpopsel, dmesh[meshID].sel, dmesh[meshID].buf, 's_magenta')
-- U.dump(dpop, '?? dpop:')
-- dpop->
M.copy(dpop, dmesh[meshID].data, dmesh[meshID].buf, 's_magenta')
M.copy(dtrans, dmesh[meshID].data, dmesh[meshID].trans, 's_trans')
M.copy(dpop, dmesh[meshID].data, dmesh[meshID].buf, 's_magenta')
M.copy(dtrans, dmesh[meshID].data, dmesh[meshID].trans, 's_trans')
-- dtrans->dpop
if #dmesh[cmesh].buf > 0 then
-- M.copy(dmesh[cmesh].buf, dmesh[cmesh].data)
-- M.move(nil, dmesh[cmesh].trans, dmesh[cmesh].data, 'NONE')
cross:normalize()
local forwardON = nailVector:copy() -- Orthonormalise the basis.
local upON = cross:copy()
local forwardON = nailVector:copy() -- Orthonormalise the basis.
local upON = cross:copy()
local rightON = forwardON:cross(upON)
-- Project the nail vector to be perpendicular to the local X-axis.
local projectedNail, scaledXAxis = nailVector:copy(), localXAxis:copy()
scaledXAxis:setScaled2(scaledXAxis, dot)
-- Project the nail vector to be perpendicular to the local X-axis.
local projectedNail, scaledXAxis = nailVector:copy(), localXAxis:copy()
scaledXAxis:setScaled2(scaledXAxis, dot)
-- Create orthonormal basis: X-axis, projected nail, and their cross product.
local forwardON = localXAxis:copy() -- Local X-axis (bridge direction).
local upON = projectedNail:copy() -- Orthogonalized nail axis.
local forwardON = localXAxis:copy() -- Local X-axis (bridge direction).
local upON = projectedNail:copy() -- Orthogonalized nail axis.
local rightON = forwardON:cross(upON) -- Third axis to complete orthonormal basis.
-- copying the filename into the textinput field interferes with the smart search for files
ffi.copy(textinput, file.name)
smartSearch = false
smartSearch = false
ffi.copy(textinput, file.name)
selectedFile = file
if im.Button("Cancel") then
ffi.copy(textinputNewFolder, "")
im.CloseCurrentPopup()
if editor.uiIconImageButton(editor.icons.create_new_folder, im.ImVec2(25 * im.uiscale[0], 25 * im.uiscale[0])) then
ffi.copy(textinputNewFolder, "")
im.OpenPopup("FileDialog_NewFolderPopup")
end
ffi.copy(textinputNewFolder, "")
end
smartSearch = false
ffi.copy(textinput, "")
if editor.isWindowVisible(toolWindowName) == true then
--dump('!!!!!!!!!!!!!!', path, objectId)
return mapData.positions[wp2]:copy()
elseif not wp1 then
local wp2Pos = mapData:getEdgePositions(wp2, wp3)
return wp2Pos:copy()
elseif not wp3 then
local _, wp2Pos = mapData:getEdgePositions(wp1, wp2)
return wp2Pos:copy()
else
if plan[planCount].nextNodeInPath ~= path[nextPathIdx] then
local norm1 = (push3(plan[planCount-1].posOrig) - plan[planCount].posOrig):cross(plan[planCount].biNormal):normalized():copy()
local norm2 = (push3(plan[planCount].posOrig) - newNode.posOrig):cross(plan[planCount].biNormal):normalized():copy()
local norm1 = (push3(plan[planCount-1].posOrig) - plan[planCount].posOrig):cross(plan[planCount].biNormal):normalized():copy()
local norm2 = (push3(plan[planCount].posOrig) - newNode.posOrig):cross(plan[planCount].biNormal):normalized():copy()
plan[planCount].normal:setAdd2(norm1, norm2)
local wp1Pos, wp2Pos = mapData:getEdgePositions(newNode.prevNodeInPath, newNode.id)
newNode.inEdgeNormal = (push3(wp1Pos) - wp2Pos):cross(newNode.biNormal):normalized():copy()
else
local wp1Pos, wp2Pos = mapData:getEdgePositions(newNode.id, newNode.nextNodeInPath)
newNode.outEdgeNormal = (push3(wp1Pos) - wp2Pos):cross(newNode.biNormal):normalized():copy()
else
return {
pos = tab2copy.pos:copy(),
length = tab2copy.length,
radiusOrig = tab2copy.radiusOrig,
normal = tab2copy.normal:copy(),
halfWidth = tab2copy.halfWidth,
speed = tab2copy.speed,
posOrig = tab2copy.posOrig:copy(),
biNormal = tab2copy.biNormal:copy(),
posOrig = tab2copy.posOrig:copy(),
biNormal = tab2copy.biNormal:copy(),
dirVec = tab2copy.dirVec:copy(),
biNormal = tab2copy.biNormal:copy(),
dirVec = tab2copy.dirVec:copy(),
vec = tab2copy.vec:copy(),
dirVec = tab2copy.dirVec:copy(),
vec = tab2copy.vec:copy(),
rangeLeft = tab2copy.rangeLeft,
newPlan[i] = table.new(0, keysNum)
newPlan[i].pos = tabentry.pos:copy()
newPlan[i].normal = tabentry.normal:copy()
newPlan[i].pos = tabentry.pos:copy()
newPlan[i].normal = tabentry.normal:copy()
newPlan[i].posOrig = tabentry.posOrig:copy()
newPlan[i].normal = tabentry.normal:copy()
newPlan[i].posOrig = tabentry.posOrig:copy()
newPlan[i].biNormal = tabentry.biNormal:copy()
newPlan[i].posOrig = tabentry.posOrig:copy()
newPlan[i].biNormal = tabentry.biNormal:copy()
newPlan[i].dirVec = tabentry.dirVec:copy()
newPlan[i].biNormal = tabentry.biNormal:copy()
newPlan[i].dirVec = tabentry.dirVec:copy()
newPlan[i].vec = tabentry.vec:copy()
newPlan[i].dirVec = tabentry.dirVec:copy()
newPlan[i].vec = tabentry.vec:copy()
end
newNode.posOrig:set(t2 * (push3(n2.posOrig) - n1.posOrig) + n1.posOrig)
local edgeNormal = (push3(n1.posOrig) - n2.posOrig):cross(newNode.biNormal):normalized():copy()
local _, t2 = closestLinePoints(newNode.posOrig, newNode.posOrig + newNode.normal, plan[i].posOrig + plan[i].radiusOrig * edgeNormal, plan[i+1].posOrig + plan[i+1].radiusOrig * edgeNormal)
posOrig = posOrig,
pos = ego.pos:copy(),
vec = vec,
local n = vec3(-ego.dirVec.y, ego.dirVec.x, 0); n:normalize()
local rearEgoPos2TargetPos = (ego.length * push3(ego.dirVec) + mainPlan.targetPos - ego.pos):copy()
local d = vec3()
if internalState.crash.time == 0 then
internalState.crash.pos = ego.pos:copy()
end
local shiftPerpendicularVec = 0.35 * ego.upVec
local egoPosElevatedR = ego.pos:copy() --creation of FR corner vector
egoPosElevatedR:setAdd(shiftHorizontalVec)
egoPosElevatedR:setAdd(shiftPerpendicularVec) -- elevation, this should work only on flat inclination for now
local egoPosElevatedL = egoPosElevatedR:copy() --creation of FL corner vector
shiftHorizontalVec:setScaled(-2)
egoPosElevatedL:setAdd(shiftHorizontalVec)
local egoPosBackElevatedL = egoPosElevatedL:copy() --creation of BR corner vector
shiftVerticalVec:setScaled(egoScanLength * 20 / ego.length)
egoPosBackElevatedL:setAdd(shiftVerticalVec)
local egoPosBackElevatedR = egoPosElevatedR:copy() --creation of BL corner vector
egoPosBackElevatedR:setAdd(shiftVerticalVec)
local function OR (a,b) return a or b end
function util.copy (tbl) return map_all(tbl, id) end
function util.all (ary, mfunc)
if charsets[cs] then
Builder.charset = copy(charsets[cs])
Builder.binary_split_int = binary_split_int
elseif typ == "table" then
local g = copy(v)
if g[1] == nil then error("grammar has no initial rule") end
function LuLPeg(options)
options = options and copy(options) or {}
local Builder, LL
copy()
{
copy()
{
copy()
{
copy()
{
copy()
{
copy()
{
if (langKey && $translationTable[langKey]) {
return angular.copy($translationTable[langKey]);
}
if dispErase and editor.uiIconImageButton(editor.icons.close, {x=imgsize/ uiScale, y=imgsize/ uiScale}) then --editor.icons.backspace
ffi.copy(text, "")
res = true
function(data)
ffi.copy(buf, data.filepath)
fileDialogContexts[label][0] = true
if value then
ffi.copy(tempCharPtr, value)
return tempCharPtr
scope.target0.copy( scope.target );
scope.position0.copy( scope.object.position );
scope.target0.copy( scope.target );
scope.position0.copy( scope.object.position );
scope.zoom0 = scope.object.zoom;
scope.target.copy( scope.target0 );
scope.object.position.copy( scope.position0 );
scope.target.copy( scope.target0 );
scope.object.position.copy( scope.position0 );
scope.object.zoom = scope.zoom0;
offset.copy( position ).sub( scope.target );
position.copy( scope.target ).add( offset );
lastPosition.copy( scope.object.position );
lastQuaternion.copy( scope.object.quaternion );
lastPosition.copy( scope.object.position );
lastQuaternion.copy( scope.object.quaternion );
zoomChanged = false;
var position = scope.object.position;
offset.copy( position ).sub( scope.target );
var targetDistance = offset.length();
rotateStart.copy( rotateEnd );
dollyStart.copy( dollyEnd );
panStart.copy( panEnd );
rotateStart.copy( rotateEnd );
dollyStart.copy( dollyEnd );
panStart.copy( panEnd );
local depthFloat = ffi.new('float[' .. tostring(points) .. ']')
ffi.copy(depthFloat, sensorData, bytes)
local returnsFloat = ffi.new('struct radar_return_t' .. sizeStr)
ffi.copy(returnsFloat, sensorData, #sensorData)
if data.consoleInputField then
ffi.copy(consoleInputField, tostring(data.consoleInputField))
end
local val = ffi.string(newBookmarkName)
ffi.copy(newBookmarkName, "")
editor.addCameraBookmark(val)
if fieldValue ~= nil then
ffi.copy(ctx.inputTextValue, fieldValue)
end
setMultiSelectionDynamicFieldValue(valueInspector.selectedIds, fieldValue, "0", arrayIndex)
ffi.copy(ctx.newFieldName, "")
end
self.headerBuffer = ffi.new("message_header_t")
ffi.copy(self.headerBuffer.identifier, messageJsonHeader, 4)
local header = ffi.new("message_header_t")
ffi.copy(header, buffer, ffi.sizeof("message_header_t"))
function C:copy()
local cpy = require('/lua/ge/extensions/gameplay/race/path')('Copy of ' .. self.name)
if (rgbArray.length == 4) {
rgbArray = angular.copy(rgbArray);
opacity ? rgbArray.pop() : opacity = rgbArray.pop();
!function(e,t,n){"use strict";!function(){t.module("ngMaterial",["ng","ngAnimate","ngAria","material.core","material.core.gestures","material.core.theming.palette","material.core.theming","material.components.autocomplete","material.components.bottomSheet","material.components.backdrop","material.components.card","material.components.checkbox","material.components.content","material.components.button","material.components.divider","material.components.chips","material.components.dialog","material.components.fabSpeedDial","material.components.fabActions","material.components.fabToolbar","material.components.fabTrigger","material.components.gridList","material.components.icon","material.components.input","material.components.list","material.components.menu","material.components.progressCircular","material.components.progressLinear","material.components.radioButton","material.components.select","material.components.sidenav","material.components.slider","material.components.sticky","material.components.subheader","material.components.swipe","material.components.switch","material.components.tabs","material.components.toast","material.components.toolbar","material.components.tooltip","material.components.virtualRepeat","material.components.whiteframe"])}(),function(){function e(e,t){e.decorator("$$rAF",["$delegate",n]),t.theme("default").primaryPalette("indigo").accentPalette("pink").warnPalette("red").backgroundPalette("grey")}function n(e){return e.throttle=function(t){var n,o,r,i;return function(){n=arguments,i=this,r=t,o||(o=!0,e(function(){r.apply(i,Array.prototype.slice.call(n)),o=!1}))}},e}t.module("material.core",["material.core.gestures","material.core.theming"]).config(e),e.$inject=["$provide","$mdThemingProvider"]}(),function(){function e(e,n,o,r,i){var a;return a={translate3d:function(e,t,o,r){function i(n){return e.removeClass(r.transitionInClass).addClass(r.transitionOutClass).css(n||t),a.waitTransitionEnd(e)}return e.css(t),n(function(){e.css(o).addClass(r.transitionInClass)}),a.waitTransitionEnd(e).then(function(){return i})},waitTransitionEnd:function(e,t){var n=3e3;return o(function(o,a){function d(t){t&&t.target!==e[0]||(t&&r.cancel(c),e.off(i.CSS.TRANSITIONEND,d),o())}t=t||{};var c=r(d,t.timeout||n);e.on(i.CSS.TRANSITIONEND,d)})},calculateZoomToOrigin:function(n,o){var r=o.element,i="translate3d( {centerX}px, {centerY}px, 0 ) scale( {scaleX}, {scaleY} )",d=t.bind(null,e.supplant,i),c=d({centerX:0,centerY:0,scaleX:.5,scaleY:.5});if(r){var l=a.clientRect(r)||a.copyRect(o.bounds),m=a.copyRect(n[0].getBoundingClientRect()),s=a.centerPointFor(m),u=a.centerPointFor(l);c=d({centerX:u.x-s.x,centerY:u.y-s.y,scaleX:Math.min(.5,l.width/m.width),scaleY:Math.min(.5,l.height/m.height)})}return c},toTransformCss:function(e,n){var o={};return t.forEach(i.CSS.TRANSFORM.split(" "),function(t){o[t]=e}),n&&(o.transition="all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important"),o},copyRect:function(e,n){return e?(n=n||{},t.forEach("left top right bottom width height".split(" "),function(t){n[t]=Math.round(e[t])}),n.width=n.width||n.right-n.left,n.height=n.height||n.bottom-n.top,n):null},clientRect:function(e){var n=t.element(e)[0].getBoundingClientRect(),o=function(e){return e&&e.width>0&&e.height>0};return o(n)?a.copyRect(n):null},centerPointFor:function(e){return{x:Math.round(e.left+e.width/2),y:Math.round(e.top+e.height/2)}}}}t.module("material.core").factory("$$mdAnimate",["$$rAF","$q","$timeout","$mdConstant",function(t,n,o,r){return function(i){return e(i,t,n,o,r)}}])}(),function(){function e(e){function t(e){return n?"webkit"+e.charAt(0).toUpperCase()+e.substring(1):e}var n=/webkit/i.test(e.vendorPrefix);return{KEY_CODE:{ENTER:13,ESCAPE:27,SPACE:32,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,TAB:9,BACKSPACE:8,DELETE:46},CSS:{TRANSITIONEND:"transitionend"+(n?" webkitTransitionEnd":""),ANIMATIONEND:"animationend"+(n?" webkitAnimationEnd":""),TRANSFORM:t("transform"),TRANSFORM_ORIGIN:t("transformOrigin"),TRANSITION:t("transition"),TRANSITION_DURATION:t("transitionDuration"),ANIMATION_PLAY_STATE:t("animationPlayState"),ANIMATION_DURATION:t("animationDuration"),ANIMATION_NAME:t("animationName"),ANIMATION_TIMING:t("animationTimingFunction"),ANIMATION_DIRECTION:t("animationDirection")},MEDIA:{sm:"(max-width: 599px)","gt-sm":"(min-width: 600px)",md:"(min-width: 600px) and (max-width: 959px)","gt-md":"(min-width: 960px)",lg:"(min-width: 960px) and (max-width: 1199px)","gt-lg":"(min-width: 1200px)"},MEDIA_PRIORITY:["gt-lg","lg","gt-md","md","gt-sm","sm"]}}t.module("material.core").factory("$mdConstant",e),e.$inject=["$sniffer"]}(),function(){function e(e,n){function o(){return[].concat(E)}function r(){return E.length}function i(e){return E.length&&e>-1&&e-1}function f(){return E.length?E[0]:null}function h(){return E.length?E[E.length-1]:null}function b(e,o,r,a){r=r||g;for(var d=u(o);;){if(!i(d))return null;var c=d+(e?-1:1),l=null;if(i(c)?l=E[c]:n&&(l=e?h():f(),c=u(l)),null===l||c===a)return null;if(r(l))return l;t.isUndefined(a)&&(a=c),d=c}}var g=function(){return!0};e&&!t.isArray(e)&&(e=Array.prototype.slice.call(e)),n=!!n;var E=e||[];return{items:o,count:r,inRange:i,contains:p,indexOf:u,itemAt:c,findBy:l,add:m,remove:s,first:f,last:h,next:t.bind(null,b,!1),previous:t.bind(null,b,!0),hasPrevious:d,hasNext:a}}t.module("material.core").config(["$provide",function(t){t.decorator("$mdUtil",["$delegate",function(t){return t.iterator=e,t}])}])}(),function(){function e(e,n,o){function r(e){var n=u[e];t.isUndefined(n)&&(n=u[e]=i(e));var o=f[n];return t.isUndefined(o)&&(o=a(n)),o}function i(t){return e.MEDIA[t]||("("!==t.charAt(0)?"("+t+")":t)}function a(e){var t=p[e]=o.matchMedia(e);return t.addListener(d),f[t.media]=!!t.matches}function d(e){n.$evalAsync(function(){f[e.media]=!!e.matches})}function c(e){return p[e]}function l(t,n){for(var o=0;o {{ dialog.content }}
","