// File: /workspace/github_cpp_makefile_star2_O3/tomfunkhouser[P]gaps/pkgs/R3Surfels/R3Surfel.cpp
// Function: gaps::R3Surfel::R3Surfel(float, float, float, float, float, float, float, float, float, float, float, float, float, unsigned char, unsigned char, unsigned char, float, unsigned int, unsigned char)
R3Surfel::
R3Surfel(float x, float y, float z,
  float nx, float ny, float nz,
  float tx, float ty, float tz,
  float radius0, float radius1,
  float depth, float elevation,
  unsigned char r, unsigned char g, unsigned char b, 
  float timestamp, unsigned int identifier,
  unsigned char flags)
  : timestamp(timestamp),
    identifier(identifier),
    attribute(0),
    depth(0),
    elevation(0),
    flags(flags)
{
  // Set everything
  SetPosition(x, y, z);
  SetNormal(nx, ny, nz);
  SetTangent(tx, ty, tz);
  SetRadius(0, radius0);
  SetRadius(1, radius1);
  SetDepth(depth);
  SetElevation(elevation);
  SetColor(r, g, b);
}

// Assembly:
movss 0x8(%rsp), %xmm8
movss 0x30(%rsp), %xmm9
movss %xmm9, 0xc(%rdi)
movl %r8d, 0x20(%rdi)
movq $0x0, 0x24(%rdi)
movb %r9b, 0x2f(%rdi)
movss %xmm0, (%rdi)
movss %xmm1, 0x4(%rdi)
movss %xmm2, 0x8(%rdi)
xorps %xmm0, %xmm0
ucomiss %xmm0, %xmm3
unpcklps %xmm4, %xmm3            # xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]
cvtps2pd %xmm3, %xmm1
mulpd 0xb29bc(%rip), %xmm1    # 0xddd80
addpd 0xb29c4(%rip), %xmm1    # 0xddd90
cvttpd2dq %xmm1, %xmm1
pshuflw $0xe8, %xmm1, %xmm1     # xmm1 = xmm1[0,2,2,3,4,5,6,7]
xorps %xmm2, %xmm2
cvtss2sd %xmm5, %xmm2
mulsd 0xb29dc(%rip), %xmm2    # 0xdddc0
addsd 0xb1d4c(%rip), %xmm2    # 0xdd138
movd %xmm1, 0x10(%rdi)
cvttsd2si %xmm2, %eax
movw %ax, 0x14(%rdi)
jne 0x2b40b
jp 0x2b40b
ucomiss %xmm0, %xmm4
jne 0x2b40b
jp 0x2b40b
ucomiss %xmm0, %xmm5
jne 0x2b40b
jnp 0x2b413
orb $0x40, %r9b
movb %r9b, 0x2f(%rdi)
movss 0x28(%rsp), %xmm0
movss 0x20(%rsp), %xmm1
movss 0x18(%rsp), %xmm2
movaps %xmm6, %xmm3
unpcklps %xmm7, %xmm3            # xmm3 = xmm3[0],xmm7[0],xmm3[1],xmm7[1]
cvtps2pd %xmm3, %xmm4
mulpd 0xb294a(%rip), %xmm4    # 0xddd80
addpd 0xb2952(%rip), %xmm4    # 0xddd90
movss 0x10(%rsp), %xmm3
cvttpd2dq %xmm4, %xmm4
pshuflw $0xe8, %xmm4, %xmm4     # xmm4 = xmm4[0,2,2,3,4,5,6,7]
movd %xmm4, 0x16(%rdi)
xorps %xmm4, %xmm4
cvtss2sd %xmm8, %xmm4
mulsd 0xb295e(%rip), %xmm4    # 0xdddc0
addsd 0xb1cce(%rip), %xmm4    # 0xdd138
cvttsd2si %xmm4, %eax
movw %ax, 0x1a(%rdi)
xorpd %xmm4, %xmm4
ucomiss %xmm4, %xmm6
jne 0x2b48c
jp 0x2b48c
ucomiss %xmm4, %xmm7
jne 0x2b48c
jp 0x2b48c
ucomiss %xmm4, %xmm8
jne 0x2b48c
jnp 0x2b494
orb $0x1, %r9b
movb %r9b, 0x2f(%rdi)
unpcklps %xmm2, %xmm3            # xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
cvtps2pd %xmm3, %xmm2
mulpd 0xb28fe(%rip), %xmm2    # 0xddda0
addpd 0xb28e6(%rip), %xmm2    # 0xddd90
cvtpd2ps %xmm2, %xmm2
movaps 0xb28fb(%rip), %xmm3    # 0xdddb0
minps %xmm2, %xmm3
cvttps2dq %xmm3, %xmm2
pshuflw $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,2,2,3,4,5,6,7]
movd %xmm2, 0x1c(%rdi)
cvtss2sd %xmm1, %xmm1
movsd 0xb28fe(%rip), %xmm2    # 0xdddd0
mulsd %xmm2, %xmm1
movsd 0xb1c5a(%rip), %xmm3    # 0xdd138
addsd %xmm3, %xmm1
cvtsd2ss %xmm1, %xmm1
movss 0xb28ea(%rip), %xmm4    # 0xdddd8
minss %xmm1, %xmm4
cvttss2si %xmm4, %eax
cvtss2sd %xmm0, %xmm0
mulsd %xmm2, %xmm0
addsd %xmm3, %xmm0
xorps %xmm1, %xmm1
cvtsd2ss %xmm0, %xmm1
movw %ax, 0x28(%rdi)
movss 0xb28c7(%rip), %xmm0    # 0xddddc
ucomiss %xmm1, %xmm0
ja 0x2b52e
ucomiss 0xb28bf(%rip), %xmm1    # 0xddde0
movaps %xmm1, %xmm0
jbe 0x2b52e
movss 0xb28b2(%rip), %xmm0    # 0xddde0
cvttss2si %xmm0, %eax
movw %ax, 0x2a(%rdi)
movb %sil, 0x2c(%rdi)
movb %dl, 0x2d(%rdi)
movb %cl, 0x2e(%rdi)
retq
nopl (%rax)