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 
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)