QUAOAR STUDIO // Mobius API
poly_Jacobian.h
1
//-----------------------------------------------------------------------------
2
// Created on: 03 July 2021
3
//-----------------------------------------------------------------------------
4
// Copyright (c) 2021-present, Sergey Slyadnev
5
// All rights reserved.
6
//
7
// Redistribution and use in source and binary forms, with or without
8
// modification, are permitted provided that the following conditions are met:
9
//
10
// * Redistributions of source code must retain the above copyright
11
// notice, this list of conditions and the following disclaimer.
12
// * Redistributions in binary form must reproduce the above copyright
13
// notice, this list of conditions and the following disclaimer in the
14
// documentation and/or other materials provided with the distribution.
15
// * Neither the name of Sergey Slyadnev nor the
16
// names of all contributors may be used to endorse or promote products
17
// derived from this software without specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
// DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY
23
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
//-----------------------------------------------------------------------------
30
31
#ifndef poly_Jacobian_h
32
#define poly_Jacobian_h
33
34
// poly includes
35
#include <mobius/poly.h>
36
37
// core includes
38
#include <mobius/core_Ptr.h>
39
#include <mobius/core_UV.h>
40
#include <mobius/core_XYZ.h>
41
42
namespace
mobius
{
43
56
class
poly_Jacobian
57
{
58
public
:
59
74
mobiusPoly_EXPORT
static
bool
75
Compute
(
const
t_xyz
& P0,
76
const
t_xyz
& P1,
77
const
t_xyz
& P2,
78
const
int
zeroBasedNodeId,
79
t_uv
& p0,
80
t_uv
& p1,
81
t_uv
& p2,
82
double
J[][2],
83
double
& J_det,
84
double
& J_det_normalized);
85
86
private
:
87
88
poly_Jacobian
() =
delete
;
89
poly_Jacobian
(
const
poly_Jacobian
&) =
delete
;
90
void
operator=(
const
poly_Jacobian
&) =
delete
;
91
92
};
93
94
}
95
96
#endif
mobius
Defines an exception class C1 that inherits an exception class C2.
Definition:
bspl_Decompose.h:41
mobius::core_XYZ
Definition:
core_XYZ.h:45
mobius::poly_Jacobian
Definition:
poly_Jacobian.h:56
mobius::core_UV
Definition:
core_UV.h:42
mobius::poly_Jacobian::Compute
static mobiusPoly_EXPORT bool Compute(const t_xyz &P0, const t_xyz &P1, const t_xyz &P2, const int zeroBasedNodeId, t_uv &p0, t_uv &p1, t_uv &p2, double J[][2], double &J_det, double &J_det_normalized)
src
poly
poly_Jacobian.h